java.net.ConnectException:连接超时:连接到远程数据库时发生连接错误
我目前正试图找到一个替代我的android应用程序后端的方法。目前,我使用php servlet查询Mysql数据库。数据库(Mysql)托管在我学院的一台计算机上,因此我无法更改任何配置,因为我不是管理员。我只能编辑自己的表 我正在尝试使用以下代码创建java RESTful服务器:java.net.ConnectException:连接超时:连接到远程数据库时发生连接错误,java,android,mysql,Java,Android,Mysql,我目前正试图找到一个替代我的android应用程序后端的方法。目前,我使用php servlet查询Mysql数据库。数据库(Mysql)托管在我学院的一台计算机上,因此我无法更改任何配置,因为我不是管理员。我只能编辑自己的表 我正在尝试使用以下代码创建java RESTful服务器: public Connection Get_Connection() throws Exception { try { int lport=31415; Strin
public Connection Get_Connection() throws Exception
{
try
{
int lport=31415;
String rhost="server01.pairg.dimap.ufrn.br";
String host="server01.pairg.dimap.ufrn.br";
int rport=2222;
String user="sumosensei";
String password="123456";
String dbuserName = "sumosensei";
String dbpassword = "123456";
String url = "jdbc:mysql://server01.pairg.dimap.ufrn.br:2222/pairg_sumosensei_app";
String driverName="com.mysql.jdbc.Driver";
Connection conn = null;
Session session= null;
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
session=jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
System.out.println(rhost+":"+rport);
System.out.println("Port Forwarded");
session.connect(30000);
System.out.println("Connected");
int assinged_port=session.setPortForwardingL(lport, rhost, rport);
System.out.println(assinged_port+" -> "+rhost+":"+rport);
System.out.println("Port Forwarded");
//mysql database connectivity
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, dbuserName, dbpassword);
System.out.println ("Database connection established");
System.out.println("DONE");
/*System.out.println("estabelecendo conexão com o BD...");
String connectionURL = "jdbc:mysql://server01.pairg.dimap.ufrn.br:2222/pairg_sumosensei_app";
Connection connection = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL, "sumosensei", "123456");
System.out.println("estabelecida conexão com o BD!");*/
return conn;
}
catch (SQLException e)
{
e.printStackTrace();
throw e;
}
catch (Exception e)
{
e.printStackTrace();
throw e;
}
}
此代码给了我以下错误:
com.jcraft.jsch.JSchException:java.net.ConnectException:连接超时:连接
位于com.jcraft.jsch.Util.createSocket(Util.java:386)
位于com.jcraft.jsch.Session.connect(Session.java:182)
在dao.Database.Get_连接(Database.java:37)
位于model.ProjectManager.GetKanjisTreinar(ProjectManager.java:34)
位于webService.FeedService.kanji(FeedService.java:53)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:601)
位于com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutingVoker.\u dispatch(AbstractResourceMethodDispatchProvider.java:156)
位于com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
位于com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163)
位于com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
位于com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
位于com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
位于com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
在com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:654)上
位于com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:612)
位于com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:603)
位于com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)
位于com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
位于com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
运行(Thread.java:722)
com.jcraft.jsch.JSchException:java.net.ConnectException:连接超时:连接
位于com.jcraft.jsch.Util.createSocket(Util.java:386)
位于com.jcraft.jsch.Session.connect(Session.java:182)
在dao.Database.Get_连接(Database.java:37)
位于model.ProjectManager.GetKanjisTreinar(ProjectManager.java:34)
位于webService.FeedService.kanji(FeedService.java:53)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:601)
位于com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutingVoker.\u dispatch(AbstractResourceMethodDispatchProvider.java:156)
位于com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
位于com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163)
位于com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
位于com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
位于com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
位于com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
在com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:654)上
位于com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:612)
在com.sun.jersey.server.impl.a