连接 SQL 数据库时出错,
import java.sql.*;
public class MSSQLTest {
static {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("Success loading MS SQL Server Driver...");
}
catch (Exception e) {}
}
public static void main(String[] args) {
String strSQL = "select * from abc";
try {
System.out.println("程序已经运行到这里....\n\n");
Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydata");
/* 我的数据库是mydata, 里边有一张表叫abc,*/
System.out.println("已经成功连接数据库了...");//这一句没有被打印出来, 估计是上面一句出了错误。
Statement strtl = con.createStatement();
ResultSet rsl = strtl.executeQuery(strSQL);
ResultSetMetaData mdrs1 = rsl.getMetaData();
int ColumnNum = mdrs1.getColumnCount();
for (int i = 1 ; i <= ColumnNum ; i++) {
System.out.print(mdrs1.getColumnName(i)+"\t");
}
System.out.print("\n--------------------------------------------------------------\n");
while (rsl.next()) {
String strData = "";
for (int i = 1 ; i <= ColumnNum ; i++) {
strData = strData+rsl.getString(i)+"\t";
}
System.out.println(strData);
}
con.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
E:\java\Myprogram>java MSSQLTest
Success loading MS SQL Server Driver...
程序已经运行到这里....
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用
户 '(null)' 登录失败。原因: 未与信任 SQL Server 连接相关联。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source
)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(Un
known Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Sour
ce)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Sou
rce)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
ource)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at MSSQLTest.main(MSSQLTest.java:17)
出现了以上错误,
问题点数:20、回复次数:6Top
1 楼f36()回复于 2005-09-16 09:07:06 得分 0
DriverManager.getConnection(url,user,pwd);Top
2 楼lulu1979714(路路)回复于 2005-09-16 09:22:43 得分 5
不一定非要用代码方式,可以采用ODBC-JDBC桥的方式来连接也很方便。
现在ODBC中添加一个SQL的数据源,然后在Design框中加入Database控件,点击Database控件的connection属性打开对话框,选择Driver为sun.jdbc.odbc.JdbcOdbcDriver,然后在URL中选择你刚才在ODBC中的数据源名就可以连通了。很方便的!!!
Top
3 楼lgh2008(ar_guang)回复于 2005-09-16 09:24:21 得分 0
DriverManager.getConnection(url,user,pwd);
可这条语句怎么写啊, 我用ping lgh(我主机的名称)得到的地址是:192.168.123.143 数据库名称是:mydata ,里边有一张叫abc 的表,没有密码。Top
4 楼fndxm(愤怒的小马)回复于 2005-09-16 09:54:09 得分 5
怎么可能没有密码呢,要么有分配给SQL Server单独的用户和密码,要么是用的集成安全认证,就是你登陆到Windows的用户名和密码。Top
5 楼TomyGuan()回复于 2005-09-16 09:57:39 得分 5
DriverManager.getConnection(url,user,pwd);
這個沒寫。
Top
6 楼pieapple()回复于 2005-09-16 10:29:31 得分 5
用户 '(null)' 登录失败。原因: 未与信任 SQL Server 连接相关联。
明显是用户名和密码问题。
到EnterpriseManager中Security下建立或查看相关的用户名和密码,
再用DriverManager.getConnection(url,user,pwd);连接。Top




