无法获得SQL-Server连接

时间:2012-03-05 13:42:34

标签: java sql-server

我在尝试连接到我的sqlserver数据库时遇到了困难。 我正在使用的数据库是SQL-Server 2008。 我正在使用的驱动程序是我在这里的那个:Microsoft download page

我使用以下代码:

public static final String URL_FORMAT = "jdbc:sqlserver://%s:%s;DatabaseName=%s";

    public static void main(String[] args) throws SQLException, ClassNotFoundException {
        String connectionURL = String.format(URL_FORMAT, "10.31.3.3", 1433, "EPowerTest");
        System.out.println("connecting to: "+connectionURL);

        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        Connection connection = DriverManager.getConnection(connectionURL, "sa", "*************");
        if (connection == null) {
            System.out.println("no connection was established");
        } else {
            System.out.println("succesfully connected");
        }
    }

现在这段代码在我的开发者机器上运行,我得到以下结果:

  

连接到:jdbc:sqlserver:// :1433; DatabaseName = ** ****

     

成功连接

但是当我在我的开发者机器上运行这段代码时,它打印出以下内容:

  

连接到:jdbc:sqlserver://10.31.3.3:1433; DatabaseName = *******

并且第二行永远不会被打印,因为看起来DriverManager.getConnection似乎没有返回。这不是防火墙问题,因为所有三个终端(数据库服务器,开发人员机器和测试机器)都在同一网络上。为什么我的方法没有返回?我错过了一些重要的SQLServer文件吗?

希望这里有人可以帮我解决这个烦人的问题!

1 个答案:

答案 0 :(得分:2)

检查连接挂起的计算机中的JVM是否为版本1.6.0_29。如果是,请升级到较新的Java。

以下another link解释了这个问题。