我遇到上述错误,想知道该怎么办。
我已经做了以下事情:


从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");


希望能帮助到你。

10-08 10:54