找不到适合 JDBC SQL 服务器的驱动程序

No suitable driver found for JDBC SQL server

我正在构建一个 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);
}

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

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

此外,请确保您没有检查项目的 "Google App Engine" 设置,因为 GAE 不能与 JDBC 一起使用(检查以防万一:JDBC Driver does not work with GWT?

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