DB2中常见错误

1.Illegal conve
rsion: can not convert from "java.lang.String" to "byte[]" ERRORCODE=-4474, SQLSTATE=null
这个错误是在DB2中使用了rowid来作为查询删除条件,其实DB2中只支持RID(),而Oracle支持rowid。

2.ERRORCODE=-4476, SQLSTATE=null
com.ibm.db2.jcc.am.SqlException: [jcc][10111][10816][3.62.80] The method java.sql.PreparedStatement.executeQuery (String sql)
cannot be called on a prepared statement instance.
这个是缺少存储过程,查看你的存储过程是否成功创建。

3.ERRORCODE=-4470, SQLSTATE=null
com.ibm.db2.jcc.am.SqlException: [jcc][t4][10120][10898][3.62.80] Invalid operation: result set is closed. ERRORCODE=-4470, S
QLSTATE=null
在DB2的驱动中ResultSet模式变了,与Oracle的驱动不同,ResultSet读表时,发现当前已经是最后一行(也就是说读完了),那么ResultSet就会自动关闭。所以你必须主要这点,这里我也没有找到很好的解决办法(如果判断ResultSet是否关闭,根本不行也会抛这个错),我是捕获了这个异常但不处理。

4.DB2创建视图,如create view xxx_view as select * from xxx_table where xxx_id = 123 order by xxx_time这sql语句没问题在oracle它是对的,可在DB2中却不行,得这样写(括起来):create view xxx_view as SELECE * FROM (select * from xxx_table where xxx_id = 123 order by xxx_time) T

5.

猜你喜欢

转载自lsz1023-126-com.iteye.com/blog/1758497