오라클 데이터베이스 연결 부분에서, 다음과 같이 'ORA-12154: TNS:지정된 접속 식별자를 분석할 수 없습니다.' 오류가 발생하여 해결 방법에 대해 알아보도록 하겠습니다.
Oracle.ManagedDataAccess.Client.OracleException
HResult=0x80004005
메시지=ORA-12154: TNS:지정된 접속 식별자를 분석할 수 없습니다.
소스=Oracle Data Provider for .NET, Managed Driver
StackTrace:
/ OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
/ OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
/ OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, OracleConnection connRefForCriteria)
/ Oracle.ManagedDataAccess.Client.OracleConnection.Open()
이 예외는 원래
[외부 코드] 호출 스택에서 throw되었습니다.
NetworkException: ORA-12154: TNS:지정된 접속 식별자를 분석할 수 없습니다.
해당과 같은 경우, 오라클 환경변수가 제대로 설정되어 있지 않을 가능성이 높으니 다음의 방법을 따라해 보세요.
'윈도우 키'를 누른 다음에 '시스템 환경 변수 편집'을 검색하여 실행해 주세요. 또는 '제어판' 메뉴에서 '시스템 및 보안'으로 이동한 다음, '시스템 속성'을 선택하고 '고급 시스템 설정'으로 갑니다.
환경 변수 메뉴가 나올 텐데요, 환경 변수는 '사용자 변수(U)'와 '시스템 변수(S)'로 구성되어 있습니다. 오라클 홈에 대한 환경 변수 설정은 보통 아래에 있는 시스템 변수로 진행하는 편이니 아래의 시스템 변수 중에 'Path'를 선택합니다.
- 변수 이름(N) : ORACLE_HOME
- 변수 값(V) : 오라클이 설치되어 있는 경로를 입력합니다.
예시 : C:\oraclexe\app\oracle\product\11.2.0\server\bin
안 되는 경우 추가적으로 네트워크 관리(TNS ADMIN)을 추가해봅니다.
- 변수 이름(N) : TNS_ADMIN
- 변수 값(V) : 오라클이 설치되어 있는 경로를 입력합니다.
예시 : C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN