Tag Archives: JDBC

ORA-7445(lnxadd)错误

一个由于低版本JDBC驱动导致的错误。 告警日志中错误信息为: Fri Aug 12 19:00:03 2011 Errors IN file /opt/app/oracle/admin/orcl/udump/orcl2_ora_28464.trc: ORA-07445: exception encountered: core dump [lnxadd()+471] [SIGSEGV] [Address NOT mapped TO object] [0x000000000] [] [] Fri Aug 12 19:00:04 2011 Trace dumping IS performing id=[cdmp_20110812190004] 根据MOS文档setDouble On INSERT Corrupts … Continue reading

Posted in BUG | Tagged , , , , , , | Leave a comment

ORA-600(17281)(1001)错误(二)

和第一次碰到这个错误不同,这次是在10.2环境中出现的。 ORA-600(17281)(1001)错误:http://yangtingkun.itpub.net/post/468/514806 告警日志中错误信息为: Tue Jan 31 15:55:55 2012 Errors IN file /oracle/admin/ORCL/udump/orcl_ora_6225970.trc: ORA-00600: internal error code, arguments: [17281], [1001], [0x70000059AB9BE38], [], [], [], [], [] ORA-01001: invalid cursor 详细TRACE信息如下: Dump file /oracle/admin/ORCL/udump/orcl_ora_6225970.trc Oracle DATABASE 10g Enterprise Edition Release 10.2.0.3.0 – … Continue reading

Posted in BUG | Tagged , , , , , , | Leave a comment

JDBC使用INSERT RETURN语句报错ORA-439

在给客户开发人员讲解LOB列的访问方式后,开发人员尝试在JDBC中使用包含RETURN的INSERT语句,但是出现了ORA-439错误。 检查后发现客户的程序使用的还是PreparedStatement语句,而RETURNING语句,则是Oracle扩展的SQL语法,因此在声明语句的时候必须使用OraclePreparedStatement方式进行声明。 除了修改SQL语句外,使用OraclePreparedStatement声明语句变量外,还需要注册输出参数,类似的代码如下: OraclePreparedStatement sqlstmt = (OraclePreparedStatement)conn.prepareStatement ("insert into t_lob values (?, ?, empty_clob()) returning contents into ?"); sqlstmt.setInt(1, 1); sqlstmt.setString(2, "a"); sqlstmt.registerReturnParameter(3, OracleTypes.CLOB); sqlstat.executeUpdate(); ResultSet resset = sqlstmt.getReturnResultSet(); IF (resset.NEXT()) { CLOB contents = (CLOB)resset.getClob(2); … } 不过即使开发人员声明了OraclePreparedStatement语句,仍然找不到registerReturnParameter过程。 当前的数据库的版本是11.2.0.2,没有道理不支持RETURN语句,何况JDBC的RETURNING语句是从10.2的JDBC就引入新特性。 … Continue reading

Posted in ORACLE | Tagged , , , , , , | Leave a comment