我正在构建一个GWT程序,它在服务器端连接到名为TheDatabase的数据库。我通过在Java项目中运行代码来测试我的代码,并且它运行得很漂亮。但是,当我尝试将其作为GWT项目的一部分运行时,我收到此错误:
=ArrayFormula(query({weeknum(Foglio2!A2:A)\Foglio2!B2:D}; "select Col2, Col1, sum(Col3) where Col2 <>'' group by Col2, Col1 label Col2 'Name', Col1 'Weeknumber', sum(Col3) 'Total'"))
这是我连接数据库的功能:
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;");
}
答案 0 :(得分:1)
服务器端依赖项应位于 war 文件夹的WEB-INF/lib
文件夹中。将它们放在DevMode类路径中是不够的。
答案 1 :(得分:0)
您必须下载驱动程序的.jar文件并在claspath中使其可用,因此DriverManager可以根据您的连接字符串通过反射实例化它。
但是,在使用Java编写所有程序时,在GWT中,有一个服务器端代码和一个客户端代码,最终编译为Javascript。您确定您没有尝试从代码的客户端部分连接到数据库吗? (根据您在将其转换为GWT项目之前的评论)。
另外,请确保您没有检查过&#34; Google App Engine&#34;设置你的项目,因为GAE不能与JDBC一起使用(请查看以下内容:JDBC Driver does not work with GWT?)