今天在使用jdbc连接oracle 10.2.0.1.0 数据库的时候出现错误,说是什么"sid名不对"之类的。
可当时觉的奇怪的是,工程连不是数据库,但是plsql和pb都可以连上,
一开始还以为是连接池的配置问题,上网查找了一些资料,才发现是数据库的sid_name的问题。
具体的解决方法如下:
jdbc连接数据库的时候,需要使用数据库的sid_name,而不是数据库的services_name
而使用plsql连接数据库的时候,只需要数据库的services_name即可,所以修改连接字符串中的
services_name 为sid_name
例如:jdbc:oracle:thin:@192.168.0.58:1521:ORCL
最后的ORCL就是sid_name
附:
察看数据库中当前的sid的方法:
SQL> select INSTANCE_NAME from v$instance;
INSTANCE_NAME
----------------
hasl