都是平时所遇到的一些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吧
可别写到循环里去了,不停地开啊开,最后就死掉了