java的jdbc连接jdbc与java数据库编程报错

Java语言中用jdbc连接MySql数据库总是报错 求解 - ITeye问答
错误信息如下:
com.mysql.jdbc.municationsException: Communications link failure
The last packet successfully received from the server was 1,392,390,324,572 milliseconds ago.& The last packet sent successfully to the server was 0 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2214)
at com.mysql.jdbc.ConnectionImpl.&init&(ConnectionImpl.java:773)
at com.mysql.jdbc.JDBC4Connection.&init&(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at dbutil.DBUtils.getConnection(DBUtils.java:38)
at dbutil.DBUtils.main(DBUtils.java:59)
Caused by: com.mysql.jdbc.municationsException: Communications link failure
The last packet successfully received from the server was 1,392,390,324,567 milliseconds ago.& The last packet sent successfully to the server was 0 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.&init&(MysqlIO.java:341)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2137)
... 13 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.&init&(Socket.java:366)
at java.net.Socket.&init&(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
at com.mysql.jdbc.MysqlIO.&init&(MysqlIO.java:290)
... 14 more
Exception in thread "main" java.lang.RuntimeException: 连接数据库失败
at dbutil.DBUtils.getConnection(DBUtils.java:42)
at dbutil.DBUtils.main(DBUtils.java:59)
Caused by: com.mysql.jdbc.municationsException: Communications link failure
The last packet successfully received from the server was 1,392,390,324,572 milliseconds ago.& The last packet sent successfully to the server was 0 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2214)
at com.mysql.jdbc.ConnectionImpl.&init&(ConnectionImpl.java:773)
at com.mysql.jdbc.JDBC4Connection.&init&(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at dbutil.DBUtils.getConnection(DBUtils.java:38)
... 1 more
Caused by: com.mysql.jdbc.municationsException: Communications link failure
The last packet successfully received from the server was 1,392,390,324,567 milliseconds ago.& The last packet sent successfully to the server was 0 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.&init&(MysqlIO.java:341)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2137)
... 13 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.&init&(Socket.java:366)
at java.net.Socket.&init&(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
at com.mysql.jdbc.MysqlIO.&init&(MysqlIO.java:290)
... 14 more
其他代码部分检查没有问题
连接池保留了连接,但是mysql数据库已经回收了连接,修改下数据库配置就可以了
已解决问题
未解决问题求解决JDBC问题。用Java连接数据库时老是报错【java吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:640,689贴子:
求解决JDBC问题。用Java连接数据库时老是报错收藏
2017java学习来上市公司博为峰学java,入学即签就业协议,不就业不收费,查看java课程!java好学吗?java课程来博为峰学,java工程师就业年薪十几万!
已百度常识各种解决方案,求大神给出解决方案、
为什么你的数据库是这样配置的……
驱动导入了吗
服务开了吗?
oracle要开两个服务的
说实话,,没这么配过,,,连数据库导个数据库jar包,,用代码连就行了,
试一下test driver
我也没这么连过,你用代码连接下试试
⊙▽⊙没这么连过。。一直用代码连
java,中公「优就业」大咖亲自授课,全程封闭式小班教学,让你学的更好一些.报名立享千元补贴,全程包吃包住,免息贷款,学Java软件开发就到中公「优就业」!
它说你数据库登录的时候,数据库的事件监听出现了异常没打开或者找不到,去打开你的电脑Oracle监听服务,如果打开了还不行,那就去Oracle配置工具删了监听,再重新建一个试试
我萌(๑•̀ㅂ•́)و✧我好萌(๑•̀ㅂ•́)و✧我特别萌(๑•̀ㅂ•́)و✧我不能再萌(๑•̀ㅂ•́)و✧我怎么这么萌(๑•̀ㅂ•́)و✧我为什么这么萌(๑•̀ㅂ•́)و✧我怎么可以这么萌(๑•̀ㅂ•́)و✧(๑• . •๑)不行了 (°ー°〃) 我萌的快不能呼吸了 我要被自己萌死了∑( ° △ °|||)︴∑(っ °Д °;)っ救我!!!
监听没开或者驱动错误。。换个版本的驱动试试,检查下服务都开了没
ora12505你就没看到这个报错么。不知道你是想了那些解决办法。百度下这个错误。
登录百度帐号推荐应用查看: 7444|回复: 11
数据库连接被异常关闭错误!急!!!
论坛徽章:0
我的应用在访问时,有时无法正常访问,过段时间又会恢复。日志如下,请各位老大帮忙啊!!!急!!!!
17:55:31,410 [ERROR]&&- [Operation: SignCustomerQueryList]
org.springframework.orm.hibernate3.HibernateJdbcException: JDBC exception on H nested exception is org.hibernat
e.exception.GenericJDBCException: could not inspect JDBC autocommit mode
Caused by:
org.hibernate.exception.GenericJDBCException: could not inspect JDBC autocommit mode
& && &&&at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
& && &&&at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
& && &&&at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
& && &&&at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
& && &&&at org.hibernate.jdbc.JDBCContext.afterNontransactionalQuery(JDBCContext.java:248)
& && &&&at org.hibernate.impl.SessionImpl.afterOperation(SessionImpl.java:417)
& && &&&at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1577)
& && &&&at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
& && &&&at org.springframework.orm.hibernate3.HibernateTemplate$36.doInHibernate(HibernateTemplate.java:998)
& && &&&at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:362)
& && &&&at org.springframework.orm.hibernate3.HibernateTemplate.findByExample(HibernateTemplate.java:987)
& && &&&at org.springframework.orm.hibernate3.HibernateTemplate.findByExample(HibernateTemplate.java:980)
& && &&&at com.llls.bl.persistence.hibernate.GenericDaoHibernate.getObjects(GenericDaoHibernate.java:109)
& && &&&at com.llls.bl.mand.SPubRoleControlCommand.execute(SPubRoleControlCommand.java:188)
& && &&&at com.llls.bl.operation.impl.SimpleStep.execute(SimpleStep.java:218)
& && &&&at com.llls.bl.operation.impl.SimpleStep.execute(SimpleStep.java:169)
& && &&&at com.llls.bl.operation.impl.SimpleOperation.execute(SimpleOperation.java:281)
& && &&&at com.llls.bl.core.ucc.UseCaseControllerSkeleton.execute(UseCaseControllerSkeleton.java:165)
& && &&&at sun.reflect.GeneratedMethodAccessor859.invoke(Unknown Source)
& && &&&at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
& && &&&at java.lang.reflect.Method.invoke(Method.java:615)
& && &&&at com.llls.bl.core.ucc.MainUseCaseController.execute(MainUseCaseController.java:195)
& && &&&at com.llls.bl.ibs.core.IbsUseCaseController.execute(IbsUseCaseController.java:45)
& && &&&at com.llls.bl.ibs.view.tapestry.base.BaseWebPageInfo._doBiz(BaseWebPageInfo.java:121)
& && &&&at com.llls.bl.ibs.view.tapestry.base.BaseWebPageInfo.doBiz(BaseWebPageInfo.java:49)
& && &&&at com.llls.bl.ibs.view.tapestry.page.bankmanagement.query.bankquery.SignCustomerQueryList.pageBeginRender(SignCusto
merQueryList.java:43)
& && &&&at org.apache.tapestry.AbstractPage.firePageBeginRender(AbstractPage.java:478)
& && &&&at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:268)
& && &&&at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:366)
& && &&&at org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:71)
& && &&&at $ResponseRenderer_122d032f884.renderResponse($ResponseRenderer_122d032f884.java)
& && &&&at org.apache.tapestry.engine.DirectService.service(DirectService.java:137)
& && &&&at $IEngineService_122d032f8ec.service($IEngineService_122d032f8ec.java)
& && &&&at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66)
& && &&&at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
& && &&&at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
& && &&&at $WebRequestServicer_122d032f8be.service($WebRequestServicer_122d032f8be.java)
& && &&&at $WebRequestServicer_122d032f8ba.service($WebRequestServicer_122d032f8ba.java)
& && &&&at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
& && &&&at $ServletRequestServicer_122d032f8aa.service($ServletRequestServicer_122d032f8aa.java)
& && &&&at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
& && &&&at $ServletRequestServicerFilter_122d032f8ac.service($ServletRequestServicerFilter_122d032f8ac.java)
& && &&&at $ServletRequestServicer_122d032f8ae.service($ServletRequestServicer_122d032f8ae.java)
& && &&&at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
& && &&&at $ServletRequestServicerFilter_122d032f8a8.service($ServletRequestServicerFilter_122d032f8a8.java)
& && &&&at $ServletRequestServicer_122d032f8ae.service($ServletRequestServicer_122d032f8ae.java)
& && &&&at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
& && &&&at $ServletRequestServicerFilter_122d032f8a6.service($ServletRequestServicerFilter_122d032f8a6.java)
& && &&&at $ServletRequestServicer_122d032f8ae.service($ServletRequestServicer_122d032f8ae.java)
& && &&&at $ServletRequestServicer_122d032f8a0.service($ServletRequestServicer_122d032f8a0.java)
& && &&&at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
& && &&&at org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:168)
& && &&&at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
& && &&&at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
& && &&&at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
& && &&&at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
& && &&&at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
& && &&&at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
& && &&&at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
& && &&&at org.apache.tapestry.RedirectFilter.doFilter(RedirectFilter.java:103)
& && &&&at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
& && &&&at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3229)
& && &&&at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
& && &&&at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
& && &&&at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002)
& && &&&at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908)
& && &&&at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362)
& && &&&at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
& && &&&at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Caused by:
java.sql.SQLException: Connection closed
& && &&&at weblogic.jdbc.wrapper.JTAConnection.getXAConn(JTAConnection.java:191)
& && &&&at weblogic.jdbc.wrapper.JTAConnection.checkConnection(JTAConnection.java:68)
& && &&&at weblogic.jdbc.wrapper.Connection.preInvocationHandler(Connection.java:87)
& && &&&at weblogic.jdbc.wrapper.JTAConnection.getAutoCommit(JTAConnection.java:297)
& && &&&at org.hibernate.jdbc.ConnectionManager.isAutoCommit(ConnectionManager.java:185)
& && &&&at org.hibernate.jdbc.JDBCContext.afterNontransactionalQuery(JDBCContext.java:239)
& && &&&... 64 more
论坛徽章:130
组里就没厉害点的人了?
论坛徽章:130
论坛徽章:130
论坛徽章:3
看到一群英文字母,什么意思就不知道了
论坛徽章:3
nice job兄,帮不了你啊
论坛徽章:130
原帖由 IbrahimoviC_09 于
20:10 发表
nice job兄,帮不了你啊
论坛徽章:0
我们换了一个连接池,问题没有再出现了。不过还是想知道原因,希望有高手能指点一下。在这里也谢谢各位了。
论坛徽章:349
原帖由 IbrahimoviC_09 于
20:10 发表
nice job兄,帮不了你啊
论坛徽章:130
原帖由 Sky-Tiger 于
21:40 发表
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号17:45 提问
jdbc 连接mysql 首次成功,之后连接就报错
在系统中使用jdbc 连接mysql, 首次成功,之后连接就报错,驱动用的是mysql-connector-java-5.1.15-bin.jar
Connection conn =
Statement stat =
ResultSet rs =
String url = "jdbc:mysql://*********:3306/*******?useUnicode=true&characterEncoding=GBK";
String sql =
String tableName = "***";
List&ClockBO& clock = new ArrayList&ClockBO&();
sql = "select * from "
+ tableName
+ " where timevalue between '"
+ startTime
+ "' and '" + endTime + "' and doorName='" + doorName.substring(2) + "'";
System.out.println(sql);
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, "root", "****");
stat = conn.createStatement();
rs = stat.executeQuery(sql);
while (rs.next()) {
ClockBO bo = new ClockBO();
ClockPKBO pkbo = new ClockPKBO();
pkbo.setCardNo1(rs.getString(1));
pkbo.setCardNo2(rs.getString(2));
pkbo.setTimeValue(ft.format(rs.getTimestamp(6)));
bo.setPersonNo(rs.getString(3));
bo.setPersonName(rs.getString(4));
bo.setDepartment(rs.getString(5));
bo.setCtlIp(rs.getString(7));
bo.setDoorNo(rs.getString(8));
bo.setDoorName(rs.getString(9));
bo.setStateId(rs.getString(10));
bo.setRptState(rs.getString(11));
bo.setStateStr(rs.getString(12));
bo.setClockPK(pkbo);
clock.add(bo);
System.out.println(rs.getString(4));
System.out.println(bo.toString());
} catch (Exception e) {
e.printStackTrace();
if(null!=rs){
rs.close();
if(null!=stat){
stat.close();
if(null!=conn){
conn.close();
}catch(SQLException e){
e.printStackTrace();
首次连接可以查出数据,再次调用就在连接的时候就抛出异常了,异常信息如下
java.sql.SQLException: ResultSet is from UPDATE. No Data.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
at com.mysql.jdbc.ResultSetImpl.next(ResultSetImpl.java:6999)
at com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:4184)
at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3585)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2534)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2304)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:834)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
为什么会出现这种情况呢?
按赞数排序
终于解决这个问题了,反编译了jdbc连接包,发现在连接数据的语句执行时需要在目标数据库执行sql语句,并根据结果进行某些处理,
而出现这个问题的原因就在这儿,由于数据库的版本过低,是3.X的版本,而在连接包中的内置SQL语句在该版本的数据库上执行不成功,
没有返回结果,导致出现了resultset为空的异常,我不知道这算不算是一个bug,反正我就换了一个低版本的jdbc连接包,问题就不再出现了。
把mit();去掉试试,这里又没有事务,提交事务干嘛
其他相关推荐
其他相似问题

我要回帖

更多关于 jdbc连接数据库报错 的文章

 

随机推荐