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.