我最近老是连接不上SQLServer2000,代码如下:
import java.sql.*;public class testSQL {
public static void main(String[] args) {
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; databasename=mapTopo";
String userName = "sa";
String userPwd = "sa";
try {
Class.forName(driverName);
Connection con= DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
Statement smt= con.createStatement();
ResultSet rst=smt.executeQuery("select * from nodeTable");
while(rst.next()){
System.out.println(rst.getString("nodeID"));
System.out.println(rst.getString("nodeName"));
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
数据库表存在,应该没问题。运行结果如下:
Connection Successful!
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'nodeTable' 无效。
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.TDSExecuteRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at testSQL.main(testSQL.java:17)
这个问题应该怎么解决?请高手指教啊,急死我了!
import java.sql.*;public class testSQL {
public static void main(String[] args) {
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; databasename=mapTopo";
String userName = "sa";
String userPwd = "sa";
try {
Class.forName(driverName);
Connection con= DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
Statement smt= con.createStatement();
ResultSet rst=smt.executeQuery("select * from nodeTable");
while(rst.next()){
System.out.println(rst.getString("nodeID"));
System.out.println(rst.getString("nodeName"));
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
数据库表存在,应该没问题。运行结果如下:
Connection Successful!
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'nodeTable' 无效。
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.TDSExecuteRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at testSQL.main(testSQL.java:17)
这个问题应该怎么解决?请高手指教啊,急死我了!
DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
con =DriverManager.getConnection("jdbc:odbc:Persons");
我用如下的代码连接2000就可以了。
把上面这段";"与"databasename"之间的空格去掉
1.把 databasename=""你数据库的名字 试试
2.看看你的数据库有没有打开
1.把 databasename=""你数据库的名字 试试
2.看看你的数据库有没有打开