刚刚完成设置所有内容并运行我的代码。但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声明有什么问题,但是什么?根本没有错误消息所以我现在应该看什么?感谢
答案 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驱动程序!我希望这可以帮助别人节省一些时间。