我用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”?我用的是系统表啊,怎么可能没数据源呢?到底是哪里的问题??

解决方案 »

  1.   

    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
      

  2.   

    SQL Server 补丁 SP3  没?
      

  3.   

    我帮你试了,其它都没错,就ID错了,Region表中没有ID字段,把ID改成RegionID就可以了
      

  4.   

    嗯,不好意思,刚才匆匆看了一下,没有看到你有new了,
    另外确实如tygker() 所说,把ID改成RegionID就可以了
    我刚刚也试了一下
      

  5.   

    sqlserver安全,不要让winows集成
      

  6.   

    SQL Server 补丁 SP3  没?
    还有就是你的SQL要升级到SP4