程序通过JDBC访问10.2.0.1数据库时,碰到了一个ORA-17410错误。
详细错误信息为:
net.emedchina.cat.exception.org.OrgException: 1.17410无法从套接字读取更多的数据``SQL: select /*+ first_rows */ * from (select row_.* , rownum rownum_ from(select nvl(deal.temp_flag,0) as temp_flag, b.url,c.member_flag,b.address, b.plat_id, b.used_name, c.code ,c.name ,b.check_flag, b.fa
这个错误信息很难看出是Oracle的错误信息,在网上查询这个错误的相关信息的时候才发现这个错误实际上就是ORA-17410。
ORA-17410: No more data to read from socket.
错误比较奇怪,同样的SQL在sqlplus里面执行不会有任何的问题,如果将失败的SQL的一些查询条件去掉,也不会产生错误。而且同样的程序以前没有碰到过这个错误。怀疑和数据库的版本10.2.0.1有关,这个问题在10.2.0.3中没有出现过。
检查了metalink,发现文档ID 1083922.1描述了这个现象。
这个错误在10.2到11.2的各个版本都可能出现。
对于11.1的版本,可以通过PATCH 8935561来解决,对于10.2版本的JDBC,除了将数据库升级到不发生这个错误的版本外,还可以通过OCI方式进行连接,因为这个错误只在JDBC瘦客户端连接方式中出现。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-662285/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4227/viewspace-662285/