解決辦法:修改環境變量的配置
原來環境變量TNS_ADMIN如下:即配置的是客戶端instantclient的
現在該為Oracle服務器的,
D:\app\miracle\product\11.2.0\dbhome_2\NETWORK\ADMIN
再來模擬一下問題:
條件:
1、環境變量中TNS_ADMIN為客戶端instantclient的,即D:\install\instantclient\instantclient_19_12\NETWORK\ADMIN
2、D:\install\instantclient\instantclient_19_12\NETWORK\ADMIN目錄下的tnsnames.ora文件內容如下:
ORCL1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )
當我們修改ORCL1為ORCL時,
ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )
此時,用PLSQL訪問Oracle數據庫,
此時會報錯:
解決辦法:將環境變量的TNS_ADMIN的變量值改為Oracle服務的,即D:\app\miracle\product\11.2.0\dbhome_2\NETWORK\ADMIN,
再重啟如下四個Oracle服務:
再次用PLSQL訪問Oracle數據庫,此時就可以登錄了。