2015-06-20 177 views
0

我正在构建一个GWT程序,该程序在服务器端连接到名为TheDatabase的数据库。我通过在Java项目中运行代码来测试我的代码,并且它运行得非常好。然而,当我尝试运行它作为GWT项目的一部分,我得到这个错误:找不到合适的JDBC驱动程序驱动程序

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); 
} 
+0

你使用的驱动程序是什么,以及什么数据库,即MongoDB,MySQL? – smoggers

+0

我在sqljdbc4.jar中使用SQL Server。我提供了.jar,所以我不知道它来自哪里。 – jpyams

回答

1

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

0

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

但是,在GWT中,当您使用Java编程时,有一个服务器端代码和一个客户端代码,最终编译为Javascript。你确定你没有试图从代码的客户端连接到数据库? (基于你的评论,它在你把它变成一个GWT项目之前就已经起作用了)。

此外,还要确保你没有检查“谷歌App Engine的”设置你的项目,因为GAE不与JDBC工作(检查这个以防万一:JDBC Driver does not work with GWT?

+0

我在Eclipse中的构建路径上有JDBC SQL Server jar。还有什么我需要做的吗? – jpyams

+1

我使用GWT特定部件编辑了我的答案。 – jotadepicas

+0

我的代码位于服务器包中,因此它不应该在客户端上运行。它有一个参数化的构造函数,所以我很确定它会失败,如果它在客户端(这个类是从服务器调用的)。 – jpyams

相关问题