执行停止,在jdbc连接期间没有抛出任何错误

时间:2011-11-12 19:14:08

标签: java sql-server jdbc database-connection

刚刚完成设置所有内容并运行我的代码。但java不会抛出任何错误,所以我不知道出了什么问题。这是我的设置 win7 - sql server 2008在一台计算机上表达r2 - eclipse-everything(localhost)。这是代码:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
        "databaseName=MyDatabase;user=sa;password=test;";
    System.out.println("AAA");

    Connection conn = DriverManager.getConnection(connectionUrl);

    System.out.println("BBB");

    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT * FROM Friends");

所以打印AAA没有抛出任何错误。然后什么都没发生没有错误,BBB永远不会打印。 Connection conn声明有什么问题,但是什么?根本没有错误消息所以我现在应该看什么?感谢

4 个答案:

答案 0 :(得分:1)

尝试围绕try / catch包装代码,如下所示:

try {
  //your code here
} catch(SQLException e) {
  e.printStackTrace();
}

在'catch'中你应该看到正在发生的事情的一些细节。

关于JDBC的一个很好的教程位于http://www.jdbc-tutorial.com

祝你好运!

答案 1 :(得分:1)

尝试connectionUrl的检查值是否正确。您拨打DriverManager.getConnection(connectionUrl)时等待超时登录数据库的等待时间  是DriverManager.getLoginTimeout()。尝试检查该值。

答案 2 :(得分:0)

我的猜测是你的sql server没有运行,windows正在等待它出现。

确认sql server正在运行,并确认您可以ping localhost

答案 3 :(得分:0)

在这个问题上花费超过8小时后,这一切都归结为愚蠢的MS jdbc驱动程序!我不相信他们自己的驱动程序不使用他们的软件!我的天啊。所以经过大量的搜索,它归结为使用jtds jdbc驱动程序,它的工作原理!叹。远离MS jdbc驱动程序!我希望这可以帮助别人节省一些时间。