2016-01-12 35 views
0

請告訴我,如果這個方法裏面的連接字符串是一個有效的連接字符串:這是JAVA MySQL JDBC Google App Engine連接字符串有效嗎?

Connection conn = DriverManager.getConnection(
        "jdbc:google:mysql://cloud-2280:mysql/account" 
        , "root" 
        , ""); 
  • 的appid:雲2280
  • 實例ID:mysql的
  • 數據庫名稱:帳戶
  • 密碼:輸入mypassword

這是個例外:

com.conversedynamics.NewServlet的doPost:空 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 通信鏈路故障成功發送到服務器 最後一個包是0毫秒前。驅動程序尚未收到來自服務器的任何數據包 。在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本機方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在java的.lang.reflect.Constructor.newInstance(Constructor.java:46)at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117 ) at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:668)at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1078)at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl的.java :2417)at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2450) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2235) at com.mysql.jdbc.ConnectionImpl。( ConnectionImpl.java:818)在 com.mysql.jdbc.JDBC4Connection。(JDBC4Connection.java:46)在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本機方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java :57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在java.lang.reflect.Constructor.newInstance(Constructor.java:46)在 com.mysql.jdbc.Util.handleNewIns ,孟清湘(Util.java:411)在 com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)在 com.mysql.jdbc.GoogleNonRegisteringDriver $ JdbcWrapper.getInstance(GoogleNonRegisteringDriver.java:282) 在 COM .mysql.jdbc.GoogleNonRegisteringDriver.connect(GoogleNonRegisteringDriver.java:252) at java.sql.DriverManager.getConnection(DriverManager.java:571)at java.sql.DriverManager.getConnection(DriverManager.java:233)at com .conversedynamics.NewServlet.doPost(NewServlet.java:90) javax.servlet.http.HttpServlet.service(HttpServlet.java:637)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) 在 org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1166) 在 org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157) 在 組織.mortbay。jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157) 在 org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157) 在 org.mortbay.jetty.servlet。 ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157) 在 org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) 在 org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler。的java:216) 在 org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 在 org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) 在 org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) 在 org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 在org.mortbay.jetty.Server。手柄(Server.java:326)在 org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 在 org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:923) 在組織.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)at com.google.tracing.TraceContext $ TraceContextRunnable.runInContext(TraceContext.java:437) at com.google.tracing.TraceContext $ TraceContextRunnable $ 1.run (TraceContext.java:444) at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:256) 在 com.google.tracing.TraceContext $ AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308) 在 com.google.tracing.TraceContext $ AbstractTraceContextCallback .runInInheritedContext(TraceContext.java:300) 在 com.google.tracing.TraceContext $ TraceContextRunnable.run(TraceContext.java:441) 在java.lang.Thread.run(Thread.java:745)引起的: java.io.EOFException:無法讀取服務器的響應。預計到 讀取4個字節,在連接意外丟失之前讀取0個字節。在 com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3039)在 com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:592)

+0

當你嘗試時發生了什麼? –

+0

@Simze:首先,感謝您的回覆。我遇到了令人畏懼的CommunicationsException:通信鏈接失敗。說來話長。我現在嘗試了很多事情大約一週。我只想驗證連接字符串是否有效,因爲其他一切似乎都沒問題! – Yster

+0

如果你得到一些異常,請發佈完整的堆棧跟蹤 –

回答

2

the documentation描述,你的JDBC URL看起來有效。

好看。

+0

感謝您的答案。所以當時的問題在其他地方。 – Yster

0

你是否曾經能夠克服這一點?每當我看到它時,通常都與客戶端和mySQL服務器之間的安全配置有關。 「

」通信鏈路故障成功發送到服務器的最後一個數據包是0毫秒前,驅動程序未收到來自服務器的任何數據包。

嘗試追加「?verifyServerCertificate = false; useSSL = false」到您的網址。服務器可能希望獲得比您在連接字符串中指定的安全性更高的安全性。這些命令會覆蓋這些命令,從而使連接更安全。但如果你連接,你知道你需要集中注意力的地方。當然,你不想在安全禁用的情況下運行。但它是瞭解問題出在哪裏的一種方法。

相關問題