ORA-12505, TNS:listener does not currently know of SID given in connect desc .

ORA-12505, TNS:listener does not currently know of SID given in connect desc .

这种情况一般因为数据库的实例名没有给,只给了数据库的服务名

  什么是数据库实例名?  数据库实例名是用于和操作系统进行联系的标识,就是说数据库和操作系统之间的交互用的是数据库实例名。实例名也被写入参数文件中,该参数为instance_name,在winnt平台中,实例名同时也被写入注册表。  数据库名和实例名可以相同也可以不同。  在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。  

 

这种情况一般因为数据库的实例名没有给,只给了数据库的服务名
select INSTANCE_NAME from v$instance;

如何解决呢?
ORASESSION有个DataTypeMap属性

这里可以填上服务名

程序其实可以不用改,只用在服务名前加上sn=就可以了。

这是和用实例名唯一差别的地方

 

posted @ 2015-10-15 11:03  南国之恋  阅读(415)  评论(0编辑  收藏  举报