【问题标题】:java.sql.SQLException: No suitable driver found for jdbc:sqlserver... (intellij, maven)java.sql.SQLException: 找不到适合 jdbc:sqlserver 的驱动程序... (intellij, maven)
【发布时间】:2016-11-10 10:14:17
【问题描述】:

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

  1. 从微软网站下载 sqljdbc4.jar
  2. 将其安装到我的本地 maven 存储库中
  3. 像这样在 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);

【问题讨论】:

  • 你可以试试Class.forName 确定吗?
  • 请显示您尝试连接到数据库的代码。
  • 试过了,然后得到“ClassNotFoundException”:)
  • 我的意思是,请发布您的 Java 代码,如有必要,请同时发布您的项目结构,以便我们提供更多帮助。
  • 如果您在 Class.forName 遇到 ClassNotFoundException,这意味着您的 java 类路径中没有有效的 sqljdbc4 java,请检查并从 Java 类路径扩展您的 jar,并确保有这个包("com.microsoft.jdbc.sqlserver.SQLServerDriver")

标签: java sql-server maven jdbc


【解决方案1】:

首先您需要确保您的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");

希望对你有帮助。

【讨论】:

  • @KevinWu,在这3个正确之后,如果你还有错误,请告诉我错误。
  • 好吧,它并没有真正解决问题。错误出现在 Class.ForName 而不是连接期间。
  • ClassNotFoundException 又来了?
  • 不是来自外部 jar,你需要检查你的 java 类路径中是否有 sql jar
  • 我该怎么做?
【解决方案2】:

我现在将外部模块添加到主目录而不是项目目录。我假设我需要在部署应用程序之前执行后者。但是现在,错误消失了。

【讨论】:

    猜你喜欢
    • 2012-08-28
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    相关资源
    最近更新 更多