2

Oracle9i データベースに接続する .NET(4.6.1) アプリケーションを作成しました。このアプリケーションは、私がアプリケーションを作成したマシンでは正常に動作しますが、アプリケーションをインストールする必要があるマシンでは動作しません。

System.Data.OracleClient を使用しています。何が問題なのかわかりません。以下のことを確認しました。

  • 両方のマシンは、同じ TNS 名構成で同じ Oracle クライアントを実行します。この構成は、動作している開発マシンからコピーされます。
  • 両方のマシンが正しい tnsnames.ora ファイルを呼び出します (procmon を使用して検証済み)。
  • どちらのマシンも SQLPlus に問題なく接続できます。
  • 両方のマシンは、同じ Active Directory アカウントでテストされています。
  • 両方のマシンに、接続用の正しいユーザー名とパスワードが設定されています。
  • 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)
4

1 に答える 1