2
我制作了一个连接到Oracle9i数据库的.NET(4.6.1)应用程序。 此应用程序在我编写应用程序的机器上正常工作,但不在应用程序需要安装的机器上。仅在某些计算机上的.NET应用程序中出现Oracle9i连接错误(ora-12154)
我正在使用System.Data.OracleClient。我不知道什么是错的。我查了下面的东西。
- 两台计算机都运行相同的Oracle客户端,并使用相同的TNS名称 配置。该配置从正在工作的开发机器 中复制而来。
- 两台机器都需要正确的tnsnames.ora文件(使用 procmon进行验证)。
- 两台机器都可以很好地连接SQLPlus。
- 两台机器都使用相同的活动目录帐户进行测试。
- 两台机器都为 连接提供了正确的用户名和密码设置。
- 我尝试全新安装的oracle客户端没有成功。
- 应用程序在两台机器上都以32模式运行。
- 两台机器上运行Windows 7的任何人的
相同的版本知道还有什么可能是这个问题的原因是什么?
堆栈跟踪错误:
2017-10-05 16:40:48.7203 - ERROR: System.Data.OracleClient.OracleException (0x80131938): ORA-12154: TNS:servicenaam kon niet worden herleid.
bij System.Data.OracleClient.OracleException.Check(OciErrorHandle errorHandle, Int32 rc)
bij System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName)
bij System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions)
bij System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
bij System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
bij System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
bij System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
bij System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
bij System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
bij System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
bij System.Data.OracleClient.OracleConnection.Open()
bij QardPrint.Model.Locus.LocusFunctions.AddEmployee(Employee employee, String& errMsg)