在连接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标识,直接写