Oracle 클라이언트의 전체 설치와 충돌하는 버전 또는 비트에 문제가있는 결과로, 개발 팀 (내 멤버 인)은 Oracle Instant Client 를 사용 하고 개발 시스템에서 대부분 설치를 피하는 방향으로 나아가고 있습니다. 새로운 프로젝트. 이 설정을 사용하여 프로덕션 환경에 배포 할 때까지도 잘 작동했습니다. 우리는 주로 .NET 상점이므로 Java가 아닌 기본 클라이언트 (.NET 랩퍼 포함)를 사용하고 있습니다.
이제 클라이언트는 데이터베이스 서비스를 LDAP 서버에 등록하고 이름 조회에 LDAP 서버를 사용해야합니다. 제공 한 파일 sqlnet.ora
과 ldap.ora
파일 (및 함께 제공되는 암호화 구성 파일)이 올바른 것으로 보입니다. 특히이 sqlnet.ora
파일은 넷 서비스 이름을 찾기위한 가능한 소스로 LDAP를 지정합니다.
names.directory_path=(tnsnames,ldap)
SQL Developer (LDAP 정보를 직접 입력 할 수 있음)를 사용하여 작업 한 컴퓨터에서 LDAP를 사용하여 서비스에 액세스 할 수 있다고 확신합니다. 올바른 것으로 가정하면 Instant Client에서이 구성을 인식하고 이름 조회에 LDAP를 사용하려면 어떻게해야합니까?
내가 지금까지 시도한 것
TNS_ADMIN
제공된 파일이 포함 된 디렉토리로 환경 변수를 설정하려고 시도했지만 Instant Client가 tnsnames.ora
파일을 인식하도록하는 데에는 문제가 없지만 LDAP를 시작하기에 충분하지 않은 것 같습니다. 경로, 사용자 이름 및 비밀번호가 변경된 결과는 다음과 같습니다.
(다음 명령은 Windows 명령 프롬프트이지만 Linux에서 비슷한 기능을 수행 할 수 있다고 생각합니다. sqlplus
여기에는 동일한 버전의 Instant Client 바이너리가 포함 된 Instant 버전도 있습니다.)
C:\TEMP>SET TNS_ADMIN=C:\path\to\sqlnet\ldap\and\tnsnames\ora\files
C:\TEMP>echo %TNS_ADMIN%
C:\path\to\sqlnet\ldap\and\tnsnames\ora\files
C:\TEMP>sqlplus.exe USERNAME/PASSWORD@LOCALTNSNAME
SQL*Plus: Release 11.2.0.2.0 Production on Mon Jul 7 10:22:25 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Produ
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
C:\TEMP>sqlplus.exe USERNAME/PASSWORD@LDAPTNSNAME
SQL*Plus: Release 11.2.0.2.0 Production on Mon Jul 7 10:24:21 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
사이드 노트
이 질문에 추가 할 수있는 TNS, LDAP 또는 Instant Client (또는 일반 Oracle Client)에 대한 태그가 있습니까? 찾을 수 없습니다.
where
( C:\TEMP\sqlplus.exe
)를 실행할 때 예상되는 것 입니다. 더 구체적으로 말하면, sqlplus
기계에 "설치"되어 있지 않습니다. 현재 디렉토리에 있고 클라이언트 바이너리가 옆에 있습니다. 그것은 완전히 다른 디렉토리에서 꺼져 있기 때문에 환경 변수를 tnsnames.ora
사용 하여 파일 에서 확실히 선택됩니다 TNS_ADMIN
.
where oci.dll
. 또한 예상 결과를 제공합니다 C:\TEMP\oci.dll
.