首页 > Linux操作系统 > Linux操作系统 > 10g的回收站又惹祸了
今天,同事在用torque生成对应表操作的java类时遇到两个错误:
错误1:
[torque-jdbc-transform] java.sql.SQLException: ORA-00600: internal error code, a
rguments: [ttcgcshnd-1], [0], [], [], [], [], [], []
[torque-jdbc-transform] java.sql.SQLException: ORA-00600: internal error code, a
rguments: [ttcgcshnd-1], [0], [], [], [], [], [], []
错误2:
[torque-jdbc-transform] Building column/table map...
[torque-jdbc-transform] java.sql.SQLException: ORA-01424: missing or illegal character following the escape character
[torque-jdbc-transform] java.sql.SQLException: ORA-01424: missing or illegal character following the escape character
两个错误是分别用不同的jdbc遇到的。
其中第一个错误以前遇到过,是因为用低版本的jdbc连接高版本的数据库造成的,解决这个问题很简单,换成高版本的jdbc就可以。
第二个错误就觉得莫名其妙了,从字面含义上看是因为做模糊查询的时候转义出了问题。
我对java不熟悉,所以只能推测是因为在生成java类的时候用了模糊查询从而导致错误。
发生错误的数据库的版本是10203,但这个jdbc的版本是最新的,用来连接其他数据库(包括9i和10g)都是可以正常生成java类的。
网上查了一下,发现有人遇到类似的问题,是因为10g的recyclebin搞的鬼。
于是在发生错误的数据库查了一下:
SQL> select object_name from user_recyclebin;
OBJECT_NAME
------------------------------
BIN$PvG8uWMHqdHgQAB/AQBO8Q==$0
BIN$PjmFUCSsVwLgQAB/AQA7CA==$0
BIN$PjmFUCSrVwLgQAB/AQA7CA==$0
BIN$PjmFUCSqVwLgQAB/AQA7CA==$0
BIN$PjmFUCS2VwLgQAB/AQA7CA==$0
BIN$PjmFUCS6VwLgQAB/AQA7CA==$0
BIN$PjmFUCS5VwLgQAB/AQA7CA==$0
BIN$PjmFUCTlVwLgQAB/AQA7CA==$0
BIN$PjmFUCTkVwLgQAB/AQA7CA==$0
BIN$PjmFUCTjVwLgQAB/AQA7CA==$0
BIN$PjmFUCTuVwLgQAB/AQA7CA==$0
.....
手工清空回收站:
SQL> purge recyclebin;
Done
再次生成就正常了。
印象中,在10g中遇到过很多次莫名其妙的错误,最后发现都与回收站有关,看来回收站也是有利有弊啊,要权衡使用。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/231499/viewspace-63885/,如需转载,请注明出处,否则将追究法律责任。