1

Google Apps を使用してクラウド アプリケーションを構築しています。クラウド データベース インスタンスとの接続を確立しているときに、エラーが発生します。また、Tomcat7.0 サーバー ライブラリに appengine-api-1.0-sdk-1.6.5 をダウンロードして構成しました。rdbms パッケージもインストールしましたが、エラーは同じです。コードは以下のとおりです。

<%@ page import="com.google.appengine.api.rdbms.*, java.io.*,java.sql.*"%>
<%
Connection c = null;
DriverManager.registerDriver(new AppEngineDriver());
 c = DriverManager.getConnection("jdbc:google:rdbms://ctsteaching:ctsdatabase/ctsdb");
 String fname = request.getParameter("fname");
  String content = request.getParameter("content");
  if (fname == "" || content == "") {
    out.println("<html><head></head><body>You are missing either a message or a name!       Try again! Redirecting in 3 seconds...</body></html>");
  } else {
  String statement ="INSERT INTO entries (guestName, content) VALUES(?,?)";
  PreparedStatement stmt = c.prepareStatement(statement);
  stmt.setString(1,fname);
  stmt.setString(2,content);
  int success = 2;
  success = stmt.executeUpdate();
  if(success == 1) {
    out.println("<html><head></head><body>Success! Redirecting in 3 seconds...</body>    </html>");
  } else if (success == 0) 
  {
    out.println("<html><head></head><body>Failure! Please try again! Redirecting in 3 seconds...</body></html>");
  }
 }
 %>    

エラーは以下のとおりです

com.google.apphosting.api.ApiProxy$CallNotFoundException: The API package 'rdbms' or call 'OpenConnection()' was not found.
com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:98)
com.google.appengine.api.rdbms.RdbmsApiProxyClient$ApiProxyBlockingInterface.makeSyncCall(RdbmsApiProxyClient.java:95)
com.google.appengine.api.rdbms.RdbmsApiProxyClient$ApiProxyBlockingInterface.openConnection(RdbmsApiProxyClient.java:73)
com.google.cloud.sql.jdbc.internal.SqlProtoClient.openConnection(SqlProtoClient.java:58)
com.google.cloud.sql.jdbc.Driver.connect(Driver.java:66)
com.google.cloud.sql.jdbc.Driver.connect(Driver.java:26)
java.sql.DriverManager.getConnection(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
org.apache.jsp.abcd.test_jsp._jspService(test_jsp.java:70)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
4

1 に答える 1

0

間違ったjarファイルを使用しているようです。ローカルで開発する場合は、追加の jvm_flags を設定する必要があります。 https://developers.google.com/cloud-sql/docs/developers_guide_java#with_eclipse

于 2012-05-29T16:31:43.423 に答える