在連接Oracle數據庫時,如果使用Tnsnames.ora中配置的數據源名稱有時會報 ORA-12543: TNS:destination host unreachable 異常,比如:
在Tnsnames.ora中配置了如下數據源
sundb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.0.13)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = sundigang)
)
)
在 .net 程序 web.config 中配置如下的連接字符串
<add key="ConnectionString" value="data source=sundb;User Id=sun;Password=test;" />
此時,使用開發工具plsqldev是可以連接的,但在程序中會拋出異常 ORA-12543: TNS:destination host unreachable
解決方法:將 web.config 中配置如下的連接字符串修改成如下所示:
<add key="ConnectionString" value="data source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.0.13)(PORT = 1522))(CONNECT_DATA =(SERVER = DEDICATED)(SID = sundigang)));User Id=sun;Password=test;" />
即不用name標識,直接寫