我用jdbc连接SQLServer,安装jdbc驱动后,三个jar文件我也导入了classpath中,下面是我的驱动测试程序:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class SqlDBSample { protected Connection getConnection() throws Exception
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";
String dbUser = "sa";
String dbPasswd = "webserver";
Connection jdbcConnection = DriverManager.getConnection(dbURL,dbUser,dbPasswd); return jdbcConnection;
} public static void main(String[] args) {
try
{
SqlDBSample db = new SqlDBSample();
Connection conn = db.getConnection();
ResultSet result = conn.createStatement().executeQuery("select * from Region");
while (result.next())
{
System.out.println(result.getString("ID"));
}
}
catch (Exception e)
{
e.printStackTrace();
}
}}
运行后提示是这样的:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source) at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
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 SqlDBSample.getConnection(SqlDBSample.java:14)
at SqlDBSample.main(SqlDBSample.java:23)
Press any key to continue...
“Undnown Source”?我用的是系统表啊,怎么可能没数据源呢?到底是哪里的问题??
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class SqlDBSample { protected Connection getConnection() throws Exception
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";
String dbUser = "sa";
String dbPasswd = "webserver";
Connection jdbcConnection = DriverManager.getConnection(dbURL,dbUser,dbPasswd); return jdbcConnection;
} public static void main(String[] args) {
try
{
SqlDBSample db = new SqlDBSample();
Connection conn = db.getConnection();
ResultSet result = conn.createStatement().executeQuery("select * from Region");
while (result.next())
{
System.out.println(result.getString("ID"));
}
}
catch (Exception e)
{
e.printStackTrace();
}
}}
运行后提示是这样的:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source) at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
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 SqlDBSample.getConnection(SqlDBSample.java:14)
at SqlDBSample.main(SqlDBSample.java:23)
Press any key to continue...
“Undnown Source”?我用的是系统表啊,怎么可能没数据源呢?到底是哪里的问题??
另外确实如tygker() 所说,把ID改成RegionID就可以了
我刚刚也试了一下
还有就是你的SQL要升级到SP4