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=就可以了。
這是和用實例名唯一差別的地方