SQL Developer에 새 연결을 추가할 때 Oracle TNS 이름이 표시되지 않음
SQL Developer를 사용하여 Oracle 데이터베이스에 연결하려고 합니다.
및 배치tnsnames.ora
C:\Oracle\product\11.1.0\client_1\Network\Admin
tnsnames.ora에서 다음 형식을 사용하고 있습니다.
dev =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.XXX.XXX)(PORT = XXXX))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = idpdev2)
)
)
SQL Developer에서 새 연결을 생성하려고 하면 TNS 이름이 옵션으로 표시되지 않습니다.
제가 놓친 게 있나요?
SQL Developer는 다음 위치에서 tnsnames.ora 파일을 이 순서로 찾습니다.
- $HOME/.tnsnames.ora
- $TNS_ADMIN/tnsnames.ora
- 레지스트리의 TNS_ADMIN 검색 키
- /etc/tnsnames.ora(Windows 이외)
- $ORACLE_HOME/network/admin/tnsnames.ora
- 로컬 머신\소프트웨어\ORACLE\ORACLE_HOME_KEY
- 로컬 머신\소프트웨어\ORACLE\ORACLE_HOME
되고 있는지 Developer 합니다.show tns
tnsnames.ora 파일이 인식되지 않으면 다음 절차를 수행합니다.
tnsnames.ora 파일이 포함된 폴더를 가리키도록 TNS_ADMIN이라는 환경변수를 정의합니다.
Windows 에서는 [컨트롤 패널(Control Panel)]> [시스템(System)]> [상세 시스템 설정(Advanced System settings)]> [환경변수(Environment Variables)]으로 이동합니다.
Linux 에서는 홈디렉토리의 .profile 파일에 TNS_ADMIN 변수를 정의합니다.
OS가 이 환경변수를 인식하고 있는지 확인합니다.
Windows 명령줄에서: echo %TNS_ADM입력 %
Linux에서 : 에코 $TNS_ADM입력
SQL Developer
- SQL Developer에서 Connections를 오른쪽 클릭하고 New Connection...을 선택합니다.드롭다운 상자에서 연결 유형으로 TNS를 선택합니다.tnsnames.ora에서 입력한 내용이 여기에 표시됩니다.
SQL Developer를 엽니다.[툴(Tools)]-> [설정(Preferences)]-> [데이터베이스(Databases)]-> [상세설정(Advanced)]순서로 이동하여 Tnsnames 디렉토리를 명시적으로 설정합니다.
TNSNAMES가 올바르게 설정되었고 Toad, SQL*Plus 등에 연결할 수 있었지만 SQL Developer를 작동시키려면 이 작업을 수행해야 했습니다.인스톨도 귀찮아 Windows 7 의 문제일 가능성이 있습니다.
TNSPING을 실행하여 접속을 체크하면 항상 tnsnames.ora 파일의 위치를 확인할 수 있습니다(9i 이후).
C:\>tnsping dev
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 08-JAN-2009 12:48:38
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = XXX)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = DEV)))
OK (30 msec)
C:\>
경우에 따라서는 tnsnames.ora로 입력한 엔트리에 문제가 있을 수 있습니다.시스템에서 찾을 수 없는 것은 아닙니다.단, tns_admin 환경변수를 설정하는 것은 좋은 일입니다.이는 여러 Oracle 홈이 있는 시스템에서 어떤 tnsnames 파일이 사용되는지 정확하게 판단할 때 발생하는 불가피한 문제를 피하기 때문입니다.
SQLDeveloper 참조Tools --> Preferences( 래 ( ( ( ( ( )

기본 설정 옵션expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory여기서 tnsnames.ora가 표시됩니다.
[확인] 을 클릭합니다.
아래 그림과 같이.

완료했습니다!
이것으로 TNSnames 옵션을 사용하여 접속할 수 있게 되었습니다.
Jason이 언급한 단계는 매우 좋으며 효과가 있을 것입니다.그러나 SQL Developer에는 약간의 반전이 있습니다.tnsnames.ora 파일을 처음 읽을 때 연결 사양(호스트, 서비스 이름, 포트)을 캐시합니다.tnsname.ora 파일에서 원래 엔트리가 삭제되어도 사양은 무효화되지 않습니다.SQL Developer가 종료되고 재시작된 후에도 캐시는 유지됩니다.이것은 그 상황을 처리하는 비논리적인 방법이 아니다.tnsnames.ora 파일을 일시적으로 사용할 수 없는 경우에도 SQL Developer는 원래 사양이 그대로 적용되어 있는 한 연결을 확립할 수 있습니다.문제는 그들의 다음 작은 반전에 있다.SQL Developer는 연결을 해결할 때 tnsnames.ora 파일의 서비스 이름을 대소문자를 구분하는 값으로 처리합니다.따라서 파일 내에 ABCD.world라는 엔트리가 있었는데 abcd라는 새 엔트리로 대체한 경우.SQL Developer는 ABCD.world 연결 사양을 업데이트하지 않습니다.- ABCD를 처리합니다.서로 다른 연결고리로 만들 수 있습니다.Oracle 제품이 대소문자를 구분하지 않는 Oracle 개발 파일 형식의 콘텐츠를 대소문자를 구분하는 것으로 취급하는 것은 놀라운 일이 아닙니다.
SQL Developer에서 [Tools]-> [ Preferences ]-> [ Datababae ]-> [ Advanced ]-> [ Tnsname ]디렉토리를 tnsname.ora 를 포함한 디렉토리로 설정합니다.
위의 변경은 제 경우에는 전혀 영향을 주지 않았습니다.명령 창에서 TNS_PIG를 실행할 수 있었지만 SQL Developer는 tnsnames.ora의 위치를 찾을 수 없었습니다.
제 경우(Windows 7 - 64비트 - Enterprise )의 문제는 Oracle instra가 잘못된 버전의 SQL Developer에 대한 시작 메뉴 바로 가기를 가리켰다는 것입니다.설치 관리자에는 3개의 SQL Developer 인스턴스가 포함되어 있습니다.1개는 %ORACLE_HOME%\client_1\sqldeveloper\에 있고 2개는 %ORACLE_HOME%\client_1\sqldeveloper\bin\에 있습니다.
installer는 bin 디렉토리에서 단순히 기능하지 않는 버전을 가리키는 시작 메뉴 바로 가기를 설치했습니다.SQL Developer를 기동할 때마다 패스워드를 입력하도록 요구됩니다.접속 메커니즘으로 TNS를 선택했을 때 선택한 내용이 기억나지 않고 공백 목록이 표시됩니다.또한 다른 투고에서 참조되는 데이터베이스 상세 설정의 TNS 디렉토리 필드도 없습니다.
이전 시작 숏컷을 던지고 %ORACLE_HOME%\client_1\sqldeveloper\sqldeveloper.exe 바로가기를 설치했습니다.그 변경으로 제 경우는 문제가 해결되었습니다.
Windows 에서는, 다음의 항목에 대해서, 「읽기 & 실행」의 선택을 추가할 필요가 있습니다.
- 폴더 c:\folder\TNS_ADMIN
- 파일 c:\filename\TNS_ADMIN\tnsnames.ora
Windows 에서는, 다음과 같이 표시됩니다.
C:\>set TNS
TNS_ADMIN=c:\oracle\TNS_ADMIN
이제 SQL Developer가 목록에 TNS를 표시합니다.
언급URL : https://stackoverflow.com/questions/425029/oracle-tns-names-not-showing-when-adding-new-connection-to-sql-developer
'programing' 카테고리의 다른 글
| 이미지: 이 파일 형식을 처리하려면 적절한 로더가 필요할 수 있습니다. (0) | 2023.03.21 |
|---|---|
| Spring Boot Framework에서는 @Spring Application Configuration, @Web Integration이 권장되지 않는 적절한 주석은 무엇입니까? (0) | 2023.03.16 |
| WooCommerce 3에서 제품 판매 가격을 프로그래밍 방식으로 설정 (0) | 2023.03.16 |
| Spring Boot에서 SQL 문을 기록하려면 어떻게 해야 합니까? (0) | 2023.03.16 |
| 워드프레스.wp_nav_menu에서 메뉴 항목 수동 추가 (0) | 2023.03.16 |