日期:2014-05-16  浏览次数:20517 次

oracle错误亲历

 原创  oracle错误亲历 收藏

都是平时所遇到的一些oracle错误,在此记录,以备日后查询!

也许错误原因不至这些,还望各位指正补充。 

ORA-01017:invalid username/password;logon denied

比较简单,一看就知,用户名或密码错误

可当初怎么也没弄明白,明明用户、密码都没问题呀,我还专门用Enterprise Manager Console确认了几次!

再后来细查之下,才发现创建用户时多加了两引号(''),唉,超郁闷,不细心呀!

java.sql.SQLException: Exhausted Resultset

用尽结果集,if(rs.next()){...}

java.sql.SQLException: ORA-00600: 内部错误代码,参数: [ttcgcshnd-1], [0], [], [], [], [], [], []

不能用oralce8的jdbc调用oracle9,一句话,版本问题!更正:替换classes12.jar

ora-12535 : TNS:operation timed out 

防火墙开了,导致客户端与服务端连接不上。

java.sql.SQLException: ORA-00933: SQL command not properly ended

检查sql语句是否正确,跑一遍SQL就知道问题所在了

ORA-00936: missing expression

跟上面一样咯,检查SQL吧

ORA-01441:要减小列长度,则要修改道感必须为空(empty)

Oracle数据库字段长度由大改小,就会报此错

曾经看过一个感觉很好的解决办法(记不清哪看到的了),如下:

ALTER TABLE tableName ADD a VARCHAR2(50)

UPDATE tableName SET a = sbbh

ALTER TABLE tableName DROP COLUMN sbbh

ALTER TABLE tableName ADD sbbh VARCHAR(50)

UPDATE tableName SET sbbh = a

ALTER TABLE tableName DROP COLUMN a

java.sql.SQLException: ORA-01438: 值大于此列指定的允许精确度

插入的值对于表中某列来讲太大.由精度,可判断该错误是一个有关数字列的问题

java.sql.SQLException: ORA-01000: 超出打开游标的最大数 

好好查查程序吧,conn.createStatement()和conn.prepareStatement()就相当于打开了一个cursor,

游标超过范围就出这问题喽!加大游标当然也可解决,但治标不治本,还是看看哪没关闭statement吧

可别写到循环里去了,不停地开啊开,最后就死掉了