Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.) 
Could not obtain connection metadata 
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.) 

解决方案 »

  1.   

    连接localhost换成ip地址,还有1433端口没被其他程序占用不?
      

  2.   

    先手动测试数据库连接,再用spring注入。
      

  3.   

    打过sp3了,也改过ip了,原来用的是本机的ip地址,后来改成localhost
      

  4.   

    我用telnet访问主机的1433号端口失败,那是不是因为我的端口没打开??????
      

  5.   

        监听程序是否启动?比如,oracle数据库的listener
      

  6.   

    我是说,你不用spring注入,手动用hibernate连接数据库。
      

  7.   

    你的SQL Server是安装到1433端口了么?
      

  8.   

    不懂,我就直接安装的 ,怎末去看sqlserver是安装在哪个端口
      

  9.   

    我用的sqlserver2005,查看使用端口的方法如下开始->SQL Server2005->配置工具->SQL Server Configuration Manager进入界面后  SQL Server2005网络配置->MSSQLSERVER协议进入后,TCP-IP,可查看SQL Server使用的端口号和是否启用
      

  10.   

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.*;public class StatementTest { /**
     * @param args
     */

    public static String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    private Connection conn=null;
    public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub
    StatementTest t =new StatementTest();
    t.initConn();

    }
    private void initConn() throws Exception{
    Class.forName(Driver);
    String url= "jdbc:microsoft:sqlserver://192.168.1.133:1433/FYAMS";
    this.conn=DriverManager.getConnection(url,"sa","");
    this.conn.setAutoCommit(false);
    }}我用java程序连接的,也包错,这是错误
    Exception in thread "main" java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unable to connect.  Invalid URL.
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at StatementTest.initConn(StatementTest.java:22)
    at StatementTest.main(StatementTest.java:16)
      

  11.   

    Invalid URL.无效的URL
    String url= "jdbc:microsoft:sqlserver://192.168.1.133:1433/FYAMS"; 这句有错
      

  12.   

    2005Sqlserver
    a、驱动字符串:  com.microsoft.sqlserver.jdbc.SQLServerDriver    
    b、数据库连接字符串 jdbc:sqlserver://<server_name>:<port>[;databaseName=<dbname>]
    2000Sqlserver
    a、驱动字符串:  com.microsoft.jdbc.sqlserver.SQLServerDriver    
    b、数据库连接字符串 jdbc:microsoft:sqlserver://<server_name>:<port>[;databaseName=<dbname>]
      

  13.   

    String url= "jdbc:microsoft:sqlserver://192.168.1.133:1433/FYAMS"; 
    改为:
    String url= "jdbc:microsoft:sqlserver://127.0.0.1:1433/FYAMS"; 试试
      

  14.   

    String url= "jdbc:microsoft:sqlserver://192.168.1.133:143;FYAMS"; 
    不是这样么?
      

  15.   

    String url= "jdbc:microsoft:sqlserver://localhost:1433;databasename=FYAMS"; 
      

  16.   

    String url= "jdbc:microsoft:sqlserver://192.168.1.133:1433;FYAMS"; 
    我刚少写了个3
      

  17.   

    不行了,还是不行啊,怎么办啊?我用的架包是mbase.jar,mssqlserver.jar,msutil.jar,还有什么其他的吗?我真想不到还有什么其他的问题
      

  18.   

    [Quote=引用 28 楼 bayougeng 的回复:]
    那别人为什么能访问你呢?
    [/Quote是的啊 ,我很奇怪了,别人都可以访问我,我从企业管理器上也可以访问,就是在java中就不可以了,我刚刚改了String url= "jdbc:microsoft:sqlserver://192.168.1.133:1433;databasename=FYAMS";
    包错
    Exception in thread "main" 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:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at StatementTest.initConn(StatementTest.java:25)
      

  19.   

    换异常了,看来url可用了。
    重启机器,再试试。
    你的测试过程,最好加上conn.close();