【问题标题】:No suitable driver found for JDBC SQL server找不到适用于 JDBC SQL 服务器的驱动程序
【发布时间】:2015-06-20 18:42:50
【问题描述】:

我正在构建一个 GWT 程序,它在服务器端连接到名为 TheDatabase 的数据库。我通过在 Java 项目中运行它来测试我的代码,它运行良好。但是,当我尝试将它作为 GWT 项目的一部分运行时,我收到了这个错误:

java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost:1433;databaseName=TheDatabase;integratedSecurity=true;

这是我连接数据库的函数:

public void getConnection(String server, String database) throws SQLException{
    this.connection = DriverManager.getConnection("jdbc:sqlserver://" + server + ";" + 
            "databaseName=" + database + 
            ";integratedSecurity=true;");
}

这是我在发生错误时调用的代码:

private ResultSet executeQuery(String sqlCommand) throws SQLException{
    Statement stat = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    return stat.executeQuery(sqlCommand);
}

【问题讨论】:

  • 您使用什么驱动程序以及什么数据库,即MongoDB,MySQL??
  • 我正在使用带有 sqljdbc4.jar 的 SQL Server。我得到了 .jar,所以我不知道它来自哪里。

标签: java sql-server jdbc


【解决方案1】:

服务器端依赖项应位于 war 文件夹的 WEB-INF/lib 文件夹中。将它们放在 DevMode 类路径中是不够的。

【讨论】:

    【解决方案2】:

    您必须下载驱动程序的 .jar 文件并使其在您的 claspath 中可用,以便 DriverManager 可以根据您的连接字符串通过反射实例化它。

    但是,在 GWT 中,当您使用 Java 进行编程时,有一个服务器端代码和一个客户端代码,最终编译为 Javascript。您确定您没有尝试从代码的客户端部分连接到数据库吗? (根据您在将其转变为 GWT 项目之前它有效的评论)。

    另外,请确保您没有检查项目的“Google App Engine”设置,因为 GAE 不适用于 JDBC(以防万一:JDBC Driver does not work with GWT?

    【讨论】:

    • 我在 Eclipse 的构建路径上有 JDBC SQL Server jar。我还有什么需要做的吗?
    • 我的代码在服务器包中,所以它不应该在客户端上运行。它有一个参数化的构造函数,所以我很确定如果它在客户端上它会失败(这个类是从服务器调用的)。
    • 当您在项目属性中查看您的 java 构建路径时,这个 jar 是否显示为添加的库?
    • 是的,它列在项目的Java构建路径中。
    猜你喜欢
    • 2016-04-02
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 2020-05-06
    • 1970-01-01
    • 2020-11-03
    • 2012-07-14
    • 2020-05-02
    相关资源
    最近更新 更多