问题描述
数据库jdbc连接异常,后台错误日志如下:Io异常:TheNetworkAdaptercouldnotestablishtheconnectionjava.sql.SQLException:Io异常:TheNetworkAdaptercouldnotestablishtheconnectionatoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)从百度问题搜索大概分为监听,网络等问题,但是现在sqlplus连接是正常的,jdbc串是这样的:driver=oracle.jdbc.driver.OracleDriverurl=jdbcracle:thin:@11.111.11.111:1521:aaaauser=aaapassword=bbb请教一下这个问题该如何处理定位?
解决方案
解决方案二:
你的URL不是发帖写漏了,还是本来就你那样的?我记得是这样的-->jdbc:oracle:thin:....
解决方案三:
sqlplus连接是正常的,说明不是数据库监听的问题,而是你程序端的问题,仔细检查下链接串、用户名、密码。
解决方案四:
引用1楼z345434645的回复:
你的URL不是发帖写漏了,还是本来就你那样的?我记得是这样的-->jdbc:oracle:thin:....
url确实有问题,jdbc:oracle:thin:@localhost:1521:orcldb
解决方案五:
1.错误翻译就是网络适配器不能建立链接2.SQLPLUS可以连接说明数据库本身没有问题3.定位程序问题DRIVER、USER、PASSWORD肯定没有错误,最后就是URL了4.URL标准格式为jdbc:oracle:thin:@dbip:port:databasename
分别确定dbip是不是数据源IP,port是否为数据库端口(oracle默认1521),databasename是不是实例名称(默认情况下是bi或者orcl)
解决方案六:
主要是不稳定,有时候能连接,有时候就报异常了。
解决方案七:
引用5楼gwang696的回复:
主要是不稳定,有时候能连接,有时候就报异常了。
你连的是本机还是远程的数据库,如果是远程的出现异常就是有可能是网络原因了。
解决方案八:
引用5楼gwang696的回复:
主要是不稳定,有时候能连接,有时候就报异常了。
如果重启机器或者重启程序就又能连接上了的话,则可能是程序发生了资源泄露【连接了数据库,却一直没有断开;之后反复连接,一直不断开就会出现问题】解决办法:1)看看自己的程序是否有问题每个connection在使用完之后都close并且置为null在log中输出执行connection连接时的执行结果,以及关闭时的执行结果正常连接时的log和异常时的log都多取几个看看打开连接和关闭连接是不是一直是成对出现的,保留执行时间到log2)看看是不是网络连接的问题pinglocalhost-t【-tPingthespecifiedhostuntilstopped.】【循环ping指定的服务器直到你按下Ctrl+C】看看掉包的状况,可以推断出网络的状况3)提前做好准备,用SQLPLUS的DOS命令,一直对相同的数据库服务器执行查询语句,并保留执行时间到log在自己的程序报异常的时候,对比1)和3)的log,仲裁到底是哪部分的问题4)Windows自带的很多工具,就能把网络连接状况等输出出来,如果1到3还解决不了问题,我再帮你考虑用什么工具能查出来问题……