访问oracle数据库报以下错误 5C

我的电脑上没有装有oracle数据库,访问公司的数据库,每次都是正确的,自从改成多线程以后,就报以上错误了,找了好多办法都不行,百度上一般三种解决方案都试过好几次了,都不行,求哪位大神看看
Io 异常: The Network Adapter could not establish the connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:404)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at com.sinosoft.utility.DBConn.createConnection(DBConn.java:237)
at com.sinosoft.utility.DBConnPool.getConnection(DBConnPool.java:89)
at com.sinosoft.utility.ExeSQL.getOneValue(ExeSQL.java:76)
at com.sinosoft.prip.Batch.getCompanyCode(Batch.java:414)
at com.sinosoft.prip.DealBatchDataThread.executData(DealBatchDataThread.java:135)
at com.sinosoft.prip.DealBatchDataThread.call(DealBatchDataThread.java:113)
at com.sinosoft.prip.DealBatchDataThread.call(DealBatchDataThread.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
java.lang.NullPointerException
at com.sinosoft.utility.ExeSQL.getOneValue(ExeSQL.java:80)
at com.sinosoft.prip.Batch.getCompanyCode(Batch.java:414)
at com.sinosoft.prip.DealBatchDataThread.executData(DealBatchDataThread.java:135)
at com.sinosoft.prip.DealBatchDataThread.call(DealBatchDataThread.java:113)
at com.sinosoft.prip.DealBatchDataThread.call(DealBatchDataThread.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)

5个回答

再怎么多线程,到最后DB操作的时候,也应该在一个事物里。你这是创建连接失败,检查创建连接的方式,检查下吧。我也不清楚你的创建连接怎样写的。

看错误应该是没连接上数据库,和多线程没有关系。建议使用plsql等工具连接测试一下

检查连接的地址什么的吧,赞同楼上

主机防火墙关闭试试呢

我新装的计算机系统,正好遇到这个问题。我的sqlplus可以连接,但是java连接不上,连接语句也是对的。我建议查看下面几个问题。
1、如果是远程连接,请关闭防火墙,开放数据库端口。
2、本地数据库,请看连接语句是否正确。
3、sqlplus也不能连接,请看监听服务是否开启。
4、sqlplus能连接,请查看监听地址(新装数据库操作不当会出现监听地址为装数据库过程中,本机的ip地址,不是127.0.0.1,而是192.168.*.*)
5、可以查看是否对服务器名(SID)进行监听,一般使用的是ORCL,在dbhome_1\NETWORK\ADMIN\SAMPLE\LISTENER.ORA。
上面还不能解决,请看其他大佬的博客或者帖子。

zkl_12345
zkl_12345 我的电脑没有安装数据库,只是程序连接远程,之前一直是好的,改成多线程后时好时坏,搞不懂什么情况
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!