Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

xác định vị trí của các tên liên quan và vang lên bảng điều khiển

Theo Oracle, các vị trí này được tìm kiếm cho tnsnames.ora , tương ứng. sqlnet.ora :

  1. đường dẫn hiện tại (được liên kết với ứng dụng khách đang chạy)
  2. Biến môi trường TNS_ADMIN được xác định cho phiên
  3. Biến môi trường TNS_ADMIN được xác định cho hệ thống
  4. Khóa đăng ký Windows HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN (cho 64 bit) hoặc HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN (cho 32 bit)
  5. %ORACLE_HOME%\network\admin

Tuy nhiên, tôi không chắc liệu từng ứng dụng / trình điều khiển / phiên bản có tuân theo danh sách này hay không. Danh sách này do Oracle cung cấp liên quan đến phiên bản 9i, tôi nghĩ bạn sẽ quản lý nó để truy vấn các thư mục này bằng VBScript.

Nếu ORACLE_HOME không được đặt bởi biến Môi trường, bạn phải truy vấn Sổ đăng ký HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME (cho 64 bit) hoặc HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME (cho 32 bit)

Đối với ORACLE_HOME_NAME bạn phải điều hướng đến bin Oracle của mình thư mục (được tìm thấy qua %PATH% Biến môi trường) và mở tệp oracle.key . Đây là một tệp văn bản đơn giản chỉ chứa ORACLE_HOME_NAME giá trị, ví dụ: OraClient11g_home1 .

Tuy nhiên, thường chỉ có một Trang chủ Oracle bên dưới HKLM\SOFTWARE\ORACLE nên đang tìm kiếm và đọc tệp oracle.key có thể là mức quá mức cần thiết.

Cập nhật

Khi tôi chạy thử nghiệm trên máy của mình (với Oracle Client 11.2), tôi nhận được thứ tự sau:

  1. Biến môi trường TNS_ADMIN
  2. HKLM\SOFTWARE\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN , tương ứng. HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN -> Chỉ khi TNS_ADMIN Biến môi trường không được đặt.
  3. %ORACLE_HOME%\network\admin
  4. Thư mục hiện tại (có thể khác với thư mục chứa ứng dụng của bạn)
  5. Thư mục chứa ứng dụng của bạn

Để phân tích sâu, bạn phải tìm kiếm tnsnames.ora , sqlnet.oraldap.ora . Tên cơ sở dữ liệu Oracle có thể được giải quyết thông qua từng tên, tức là kết nối có thể được thiết lập ngay cả khi tnsnames.orasqlnet.ora không tồn tại.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL Group Bởi nếu

  2. Xem ứng dụng oracle và nhận:java.lang.ClassNotFoundException:oracle.forms.engine.Main

  3. Lỗi thay đổi sau khi chèn kích hoạt

  4. Việc sử dụng SELECT COUNT (*) trước SELECT INTO có chậm hơn so với sử dụng Exceptions không?

  5. SQL lạ lãng phí tài nguyên của tôi