我已将应用程序的一个组件从Web服务移动到Windows服务.它完全从Web服务连接到oracle,但拒绝从Windows服务中查看Tns名称.我已经完全控制了ORAHOME dir到运行该服务的帐户.
我还使用runas regedit作为服务帐户检查了注册表的服务帐户权限,它可以看到HKLM\SOFTWARE\ORACLE\HOME0详细信息和HKLM\SOFTWARE\ORACLE\ALL_HOMES.所有ORACLE_HOME键都指向同一目录.
我可以作为服务帐户登录并TNSPing sid'UAT'没有问题:
'OK (70 msec)'Run Code Online (Sandbox Code Playgroud)
我已将进程监视器附加到进程,并且服务帐户(最终在扫描大部分注册表之后)看到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()