日期:2014-05-16 浏览次数:20654 次
项目开发的时候遇到一些问题,基本都是数据库的原因。
觉得总结一下常见的数据库异常,总结如下:
1.java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor。
错误原因:数据库的sid即数据库名称没有配置正确。
?
2.java.sql.SQLException: ORA-00942: table or view does not exist
错误原因:太明显了,你一定要检查你的SQL语句! from的表或视图一定是名称搞错了。
?
3.java.sql.SQLException: 无效的列索引 错误原因:可能是SQL语句中参入了中文的符号,也可能是代码中的statement为null,在后面执行sql的时候报的错误。最有可能的错误原因是PreparedStatement调用时调用setXXX(int index, **)时,传参的起始序列号写错误了。参数的index实际上是从1开始的,而不是0,非常不理解为什么!!!建议通过别名来获取数据。 ? 4.java.sql.SQLException: Io 异常: Connection reset 错误原因:你连接的数据库的服务重启了或因为网络断开了,导致数据库连接异常。查看网络,重新连接一下服务器一般可以解决问题。 ?
5.java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
错误原因:无非就是数据库+网络的问题。数据库连接满了,监听停了,并发太大,IP,防火墙如此而已。具体参考:http://blog.csdn.net/Mr_Von/article/details/2880626。还有一种极变态的原因,那就是数据库的表被锁死了。可能是某一个数据库人员直接操作数据库表,使用如for update等命令,导致表被锁死了。 ? 以上就是我总结的一些数据库原因和相应的解决方案,实践出真知,血泪经验积累,以后会随时补充。欢迎大家指正。 ? ? ? ? ? ?