我遇到上述错误,想知道该怎么办。
我已经做了以下事情:
从Microsoft网站下载sqljdbc4.jar
将其安装到我的本地Maven存储库
像这样在pom.xml中包含它:
com.microsoft.sqlserver
sqljdbc4
4.0
由于我使用的是jdbc4,因此我读到不必调用Class.forName
,但是可以直接建立与数据库的连接。
那么,为什么我仍然会收到nosuitabledriver错误?
编辑:
当使用如下所示的ClassForName时,出现ClassNotFoundException。
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //I also tried Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
String dbURL = "jdbc:sqlserver://localhost;databaseName=test;integratedSecurity=trues";
conn = DriverManager.getConnection(dbURL);
最佳答案
首先,您需要确保您的Driver
classpath
更正classpath
:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
变成:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
其次,您需要确保您的dbURL可以更正dbURL:
String dbURL = "jdbc:sqlserver://localhost;databaseName=test;integratedSecurity=trues";
改成:
String dbURL = "jdbc:sqlserver://localhost:1443;databaseName=test;integratedSecurity=trues";
第三,在getConnection方法中添加数据库用户名和密码:
conn = DriverManager.getConnection(dbURL);
改成:
conn = DriverManager.getConnection(dbURL,"yourUserName","yourPass");
希望能帮助到你。