2013-06-12 10 views
0

Windows 7 32 비트에서 Oracle Instant Client 설정을 사용하여 ODBC DSN에서 테스트 연결을 시도하는 중이 오류가 발생합니다. 나는 비스타 32 비트와 함께 다른 컴퓨터에서 작업하고있다.Oracle Instant Client를 사용할 때 ORA-12154 오류가 발생했습니다.

정보 :
1. 디렉토리 구조는 c : \ oracle \ instantclient_11_2입니다. 기본 클라이언트 및 인스턴트 클라이언트 파일은 작업 시스템과 마찬가지로 instantclient_11_2 디렉토리에 있습니다.
2. C : \ 오라클 및 C : 시스템 경로 시스템 경로에
3. 추가 TNS_ADMIN에서 \ 오라클 \의 instantclient_11_2가와 C에 지적 : \ 오라클의 tnsnames.ora가 작업 기계로부터의 복사
(4) c : \ oracle
5. sqlnet.ora는 c : \ oracle에 있습니다. 작업 복사본은 단지 "TCP.CONNECT_TIMEOUT = 5"항목을 가지고 있었지만 다음과 같이 추가를 시도했습니다 : NAMES.DIRECTORY_PATH = (LDAP, TNSNAMES, HOSTNAME) 작동하지 않을 때
6. 오라클 서버와 1521 포트 (tnsnames.ora에 정의 됨).

확인할 사항이 있습니까?

+0

DSN에 사용중인 연결 식별자는 무엇입니까? 예를 들어, TNS 별칭 또는 Easy Connect 문자열입니까? 'sqlnet.ora'가 이제 작업 컴퓨터의 것과 일치합니까? –

+0

- ODBC 관리자에게 DSN을 설정하고 tnsnames.ora에 TNS 서비스 이름을 지정합니다. sqlnet.ora는 동일합니다. 위의 상태에서 한 줄만 있으면됩니다. – urbanmojo

+0

여기 tnsnames.ora 파일의 내용이, 나는 DSN에 MIADM를 지정하고 있습니다 :'ABCDM = (설명 = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST는 = 172.99. 99.99) (PORT = 1,521) ) ) (CONNECT_DATA = (SERVICE_NAME = MIADM) )가 ) ' – urbanmojo

답변

0

Yout tnsnames.ora이 의견에서 말한대로라면 DSN에서 잘못된 값을 사용하고있는 것입니다. ABCDM 인 DSN의 TNS 별칭을 사용해야합니다. 별명으로 사용하지 않는 한 직접 서비스 이름을 참조 할 수 없습니다.

+0

좋습니다. 이상한, 이전 기계 - MIADM에서 "서비스 이름"을 사용하고있었습니다. 나는 뭔가를 놓친 경우에 대비하여 오래된 컴퓨터에서 tnsnames.ora의 다른 복사본을 확인했습니다. 말도 안돼. 왜 그랬을까요? – urbanmojo

+0

@ user2281976 - 실제로 ODBC를 사용하지는 않지만 두 시스템 모두 DSN에 대해 동일한 드라이버를 사용하고 있는지, 이전의 드라이버가 실제로 TNS 별칭을 사용하고 있는지 - 호스트와 포트를 지정하지 않음을 확인하십시오. 어떤 경우에는 서비스 이름 'MIADM'을 사용합니까? 나는 그것을 설정 한 사람이 비슷한 이슈를 가지고 있고 결국'tnsnames.ora'를 우회하는지 궁금합니다. 그렇지 않으면, 나는 두려워하지 않는다. * 8-) –

+0

나는 다른 하나를 설정 한 사람이다 ... tnsnames.ora를 우회 할 필요가 없다. 나는 보통 JDBC를 사용하지만이 경우에는 ODBC를 사용해야한다 .... :-( – urbanmojo

0

호출하는 응용 프로그램이 Program Files (x86) 디렉토리에 설치 될 때 오류가 반환되는 것으로 나타났습니다. 해당 폴더 외부에 프로그램을 재설치하면 오류가 해결됩니다. 오라클 인스턴트 클라이언트가 왜 거기에 설치된 프로그램으로 잘 돌아 가지 않을지 확신하지 못합니다.