Oracle数据库异常记录

时间:2018年12月24日星期一,12:19

异常:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
触发环境:
    Eclipse,首次使用java连接Oracle数据库,驱动已安装。
排查过程:

1、	在SQL*PLUS上连接数据库,判断该数据库是否可用。
2、	核实SID是否存在。在SQL*PLUS中使用“SELECT name FROM v$database;”查询当前实例名称,与url中的SID进行比对。
3、	检查实例是否已开放。在SQL*PLUS中使用“SELECT status FROM v$instance;”C查询当前实例状态是否为OPEN。
4、	将“1521”和“PET_SHOP”之间的“:”换成了“/”,即“jdbc:oracle:thin:@localhost:1521/PET_SHOP”,问题解决。

原因:
    jdbc连接字符串有误,系统无法识别SID。
    原url为:“jdbc:oracle:thin:@localhost:1521:PET_SHOP”。

后记:
    网络上也有用“:”的连接串并且并且成功了,这是为什么呢?

时间:2018年12月24日星期一,22:19

异常:
    ClassNotFoundException:oracle.jdbc.OracleDriver
触发环境
    Eclipse,中午还能用晚上就不行了,不知道触发了什么东西。
排查过程:

1、	检查ORACLE_HOME变量值是否有错,发现变量好好的没有任何问题。
2、	重启Tomcat判断是否是服务器的问题,发现和服务器没关系。
3、	在“oracle.jdbc.OracleDriver”和“oracle.jdbc.driver.OracleDriver”之间徘徊,最后发现没有区别。
4、	修改了jar的位置,问题解决。

原因:
    驱动所需的jar包需放在WEB-INF/lib文件下,然后再通过配置路径导入,否则会找不到包。
后记:
    奇怪的地方在于中午就可以运行的代码晚上就得换个方式才能动,这是为什么呢?

时间:2018年12月25日星期二,08:18

异常:
    ORA-00911: 无效字符
触发环境:
    Eclipse,环境配置正常。
排查过程:

1、	检测sql语句“SELECT * FROM pet_type;”是否符合规范。删去“;”后发现异常解除,变成无效的列索引。

原因:
    在使用SQL语句时不能使用“;”,Oracle无法识别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值