请告诉我此方法中的连接字符串是否为有效的连接字符串:
Connection conn = DriverManager.getConnection(
"jdbc:google:mysql://cloud-2280:mysql/account"
, "root"
, "");
这是一个例外:
com.conversedynamics.NewServlet doPost:null 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) 在com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:668)at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1078)at at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2417)at at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2450) 在com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2235) 在com.mysql.jdbc.ConnectionImpl。(ConnectionImpl.java:818)at com.mysql.jdbc.JDBC4Connection。(JDBC4Connection.java:46)at 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.ConnectionImpl.getInstance(ConnectionImpl.java:404)at at com.mysql.jdbc.GoogleNonRegisteringDriver $ JdbcWrapper.getInstance(GoogleNonRegisteringDriver.java:282) 在 com.mysql.jdbc.GoogleNonRegisteringDriver.connect(GoogleNonRegisteringDriver.java:252) 在java.sql.DriverManager.getConnection(DriverManager.java:571)at java.sql.DriverManager.getConnection(DriverManager.java:233)at com.conversedynamics.NewServlet.doPost(NewServlet.java:90)at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)at at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at 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) 在 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 $ 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.handle(Server.java:326)处 org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 在 org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:923) 在org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)at com.google.tracing.TraceContext $ TraceContextRunnable.runInContext(TraceContext.java:437) 在 com.google.tracing.TraceContext $ TraceContextRunnable $ 1.run(TraceContext.java:444) 在 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)at at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:592)
答案 0 :(得分:2)
如the documentation中所述,您的jdbc网址看起来有效。
好看。
答案 1 :(得分:0)
你有没有能够克服这个问题?每当我看到它时,它通常与客户端和mySQL服务器之间的安全配置有关。
"通信链路故障成功发送到服务器的最后一个数据包是0毫秒前。驱动程序未收到来自服务器的任何数据包。"
尝试附加"?verifyServerCertificate = false; useSSL = false"到你的网址。服务器可能期望比您在连接字符串中指定的安全性更高。这些命令会覆盖这些命令,从而降低连接安全性。但如果你连接,你知道你需要集中注意力的地方。当然,您不希望在禁用安全性的情况下运行。但这是一种了解问题所在的方法。