2017-10-06 21 views
2

Oracle9i Database에 연결하는 .NET (4.6.1) 응용 프로그램을 만들었습니다. 이 응용 프로그램은 응용 프로그램을 작성한 컴퓨터에서 제대로 작동하지만 응용 프로그램을 설치해야하는 컴퓨터에서는 작동하지 않습니다.일부 기계에서만 .NET 응용 프로그램의 Oracle9i 연결 오류 (ora-12154)

저는 System.Data.OracleClient를 사용하고 있습니다. 나는 무엇이 잘못 될 수 있는지 전혀 모른다. 나는 다음과 같은 것을 확인했다.

  • 두 기계 모두 동일한 TNS 이름 구성으로 동일한 Oracle 클라이언트를 실행합니다. 이 구성은 작업중인 컴퓨터 에서 복사됩니다.
  • 두 시스템 모두 올바른 tnsnames.ora 파일 ( procmon을 사용하여 유효성 검사)을 호출합니다.
  • 두 컴퓨터 모두 SQLPlus와 연결할 수 있습니다.
  • 두 컴퓨터 모두 동일한 활성 디렉터리 계정으로 테스트됩니다.
  • 두 컴퓨터 모두 연결에 대해 올바른 사용자 이름과 암호를 설정했습니다.
  • 오라클 클라이언트를 새로 설치하려고 시도했지만 성공하지 못했습니다.
  • 응용 프로그램이 두 시스템에서 32 모드로 실행 중입니다.
  • 두 시스템은 다른 어떤이 문제의 원인이 될 수 있습니다 알고 누구나

윈도우 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) 

답변

0

드디어 문제를 "해결". 내 프로그램이 Program Files(x86) 폴더에 설치된 경우 어떤 이유로 든 오라클 연결이 대상 시스템에서 작동하지 않습니다. 그러나 내 개발 컴퓨터 에서이 폴더에서 작동하지 않았다. 왜 이것이 나에게 아직도 불분명 한가요? 그 이유를 아는 사람이라면 대답을 남겨주세요.