【发布时间】:2010-10-16 19:52:25
【问题描述】:
我已将我们应用程序的一个组件从 Web 服务移至 Windows 服务。它从 web 服务完美地连接到 oracle,但拒绝从 Windows 服务中看到 Tns 名称。我已经完全控制了运行该服务的帐户的 ORAHOME 目录。
我还通过使用 runas regedit 作为服务帐户检查了注册表的服务帐户权限,它可以看到 HKLM\SOFTWARE\ORACLE\HOME0 详细信息和 HKLM\SOFTWARE\ORACLE\ALL_HOMES。所有的 ORACLE_HOME 键都指向同一个目录。
我可以以服务帐户身份登录并 TNSPing sid 'UAT' 没有问题:
'OK (70 msec)'
我已将进程监视器附加到进程,服务帐户(最终在扫描大部分注册表后)看到 tnsnames.ora 甚至读取它。
你在键盘后面咯咯地笑吗?你能帮忙吗!
Cause: OracleException
Source: System.Data.OracleClient
Message: ORA-12154: TNS:could not resolve service name
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OracleClient.OracleConnection.Open()
【问题讨论】:
标签: .net oracle windows-services windows-server-2003