2011-08-16 6 views
1

가 세부 사항은 : 나는 7 64 비트 VM 윈도우에 the OTN download page에서 오라클 인스턴트 클라이언트 11.2.0.2.0을 설치 ORA-12154 여기

  1. (VM웨어) .
  2. 원격 Oracle 데이터베이스에 연결하려고하는데 TNS를 사용하여 하나의 프로그램에 연결할 수는 있지만 SQL * Plus 및 다른 응용 프로그램에는 연결할 수 없습니다.
  3. schema @ servicename, password 등을 사용하여 SQL * Plus에 연결하려고하면 위의 오류가 발생합니다.
  4. SQL Developer를 통해 연결하려면 일반적으로 기본 연결 정보를 사용하고 tnsnames에 의존하지 말고 정상 연결을 시도하면 나에게 : io error: unknown host specified이 표시됩니다. SQL Developer는 TNS 프로토콜을 사용하는 경우 데이터베이스를 성공적으로 연결하고 쿼리 할 수 ​​있습니다.
  5. 다른 프로그램에서 시도하면 SQL * Plus에서와 동일한 오류가 발생합니다. tnsnames에서 서비스 이름으로 시도 할 때도 마찬가지입니다.

이것은 분명히 일방적으로 작동하고 다른 것은 작동하지 않기 때문에 상당히 실망 스럽습니다. 나는 인스턴트 클라이언트를 사용하기위한 모든 일반 지침을 따라 갔다. 즉, instantclient가있는 디렉토리가 PATH에 추가되었고, TNS_ADMIN 항목도 tnsnames.ora 파일에 디렉토리와 함께 생성되었다.

+0

인스턴트 클라이언트의 10.2 버전을 시도, 같은 문제 – chrismarx

+0

SQLNET.ORA에서 NAMES.DIRECTORY_PATH의 가치는 무엇? –

+0

나는 sqlnet.ora 파일을 가지고 있지 않다. 인스턴트 클라이언트 다운로드의 일부가 아니었고 수동으로 만들라고 말하는 것도 아니었다. – chrismarx

답변

1

글쎄, 나는 설치 프로그램에서 인스턴트 클라이언트로 설정 한 Windows 2003 서버와 일치하도록 모든 것을 변경했습니다. 주요 변경 사항은 드라이브의 루트 (프로그램 파일/오라클/etc가 아닌)의 폴더에 인스턴트 클라이언트를 넣는 것이었지만 c :/oracle, 나는 오라클이 디렉토리 경로의 문자에 대해 특별한 것이라고 말하는 다른 게시물을 보았습니다. 어쩌면 공백은 아니야?

다른 환경 변수 인 anythign을 ORACLE_HOME (인스턴스의 루트까지), SQL_PATH (동일) 및 PATH 시스템 변수에 추가했습니다. 폴더에 instantclient 파일을 저장하십시오. 어쨌든, 나는 그 일을 행복하게 생각합니다. 이러한 변경 사항 중 누구라도 가능했을 것입니다.

0

당신은 ProcessMonitor을 사용하고 sqlplus 프로세스가 무엇을하는지보십시오. 내 경우에는 TNS_ADMIN이 올바르게 정의되었지만, 실수로 tnsnames.ora와 sqlnet.ora는 어리석은 ".txt"확장자를 가졌습니다.이 파일은 기본적으로 메모장에서 추가되었습니다. "Windows 탐색기"에는 기본적으로 알려진 파일 확장명 숨김 옵션이 있으므로 이름 지정 오류가 전혀 나타나지 않았습니다.

0

12.1 인스턴트 클라이언트가 설치되었습니다. 나에게 \ network \ admin \ tnsnames.ora 파일을 작성하면 문제가 해결되었다. 여기 내가 사용하는 PowerShell은 다음과 같습니다

$source = "C:\Users\USER1\Desktop\tnsnames.ora" 
$target = "C:\oracle\product\12.1.0\client_1\network\admin" 
mkdir $target 
copy-item $source $target