小弟初次接触用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);
这时就报错了,连接不上数据库了....望各位不吝指教。不胜感激
到数据库: 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);
这时就报错了,连接不上数据库了....望各位不吝指教。不胜感激
否则 zm诊断错误呢比如
catch(IOException e){}
否则 zm诊断错误呢比如
catch(IOException e){
e.printStackTrace();
}
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)