小弟初次接触用jbuilder连接sqlserver数据库,如果不用读文件的方式传入连接参数,便能正确连接
到数据库:    database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=BusInfo", "sa", "887766", false, "com.microsoft.jdbc.sqlserver.SQLServerDriver"));但是使用了一个类来从文件读入这些参数时,便不能连上数据库了。使用的类如下:(自己规定一个txt文档的格式,然后用字符窜分析器找出 username password url,然后分别存在数组里,用类的不同方法分别得到)
import java.util.*;
import java.io.*;public class ReadFile{
    FileReader file;
    BufferedReader in;
    String str[]=new String[3];
    int i=0;
  public ReadFile()
  {
     String s;
     try
     {
       file = new FileReader("database.txt");
       in = new BufferedReader(file);
     }
     catch(IOException e){}    try
    {
       s=in.readLine();
       if(!(s.startsWith("endend")))
       {
         StringTokenizer tokenizer= new StringTokenizer(s,"#");
         while(tokenizer.hasMoreTokens())
         {
           str[i]=tokenizer.nextToken();
           i++;
         }
       }
       else if(s.startsWith("endend"))
       {in.close();file.close();}
    }
    catch(Exception exp){}
  }
  public String getPassword()
  {
    String pas=str[0];
    return pas;  }
  public String getUrl()
  {
    String url=str[1];
    return url;  }
  public String getUserName()
  {
    String userName=str[2];
    return userName;
  }
  }
其中,database.txt内容如下:"887766"# "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=BusInfo"#"sa"#endend 在主程序中调用如下:
  ReadFile rf= new ReadFile();
   String url = rf.getUrl();
   String username = rf.getUserName();
   String password = rf.getPassword();
//经调试,得到的三个参数都是正确的 问题出来了,当使用连接数据库的函数:
database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor(url, username, password, false, "com.microsoft.jdbc.sqlserver.SQLServerDriver"));以及:Connection con = DriverManager.getConnection( url,username,password);
这时就报错了,连接不上数据库了....望各位不吝指教。不胜感激

解决方案 »

  1.   

    你应该把catch到的异常打印到控制台 来看看 原因
    否则 zm诊断错误呢比如
    catch(IOException e){}
      

  2.   

    你应该把catch到的异常打印到控制台 来看看 原因
    否则 zm诊断错误呢比如
    catch(IOException e){
       e.printStackTrace();
    }
      

  3.   

    抛出的异常是:
       
      java.sql.SQLException: No suitable driver at java.sql.DriverManager.getConnection  (DriverManager.java:532) at java.sql.DriverManager.getConnection  (DriverManager.java:171) .
            .
            .
            . at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)