Oracle Instant Client 是輕量級免安裝客戶端,支援 OCI、JDBC-OCI、ODBC、Pro*C 等開發介面,適合不想安裝完整 Client 的開發/部署機器。本文提供 Windows 環境下載、解壓、環境變數、tnsnames.ora 配置、驗證連線的標準化步驟。
instantclient-basic-windows.x64-11.2.0.4.0.zip、instantclient-sqlplus-windows.x64-11.2.0.4.0.zip、instantclient-sdk-windows.x64-11.2.0.4.0.zip)C:\instantclient_11_2 (所有 zip 解壓後檔案合併在同一資料夾)| 變數名 | 值 | 說明 |
|---|---|---|
ORACLE_HOME | C:\instantclient_11_2 | Instant Client 根目錄 |
TNS_ADMIN | C:\instantclient_11_2 | tnsnames.ora 所在目錄 |
PATH | 在 Path 變數最前面新增 C:\instantclient_11_2 | 確保 OCI DLL、sqlplus.exe 被優先找到 |
NLS_LANG | SIMPLIFIED CHINESE_CHINA.AL32UTF8 | 字元集設定,避免中文亂碼 |
| 現象 | 原因 | 解決 |
|---|---|---|
ORA-12154: TNS:could not resolve the connect identifier | TNS_ADMIN 未設或 tnsnames.ora 路徑錯誤 | 確認環境變數、檔案名拼寫 (非 tnsname.ora)、重開終端機 |
ORA-12541: TNS:no listener | 監聽器未啟動 / IP/PORT 錯誤 / 防火牆 | lsnrctl status、檢查防火牆 1521、確認 HOST IP |
ORA-12514 | 服務名不存在 | 核對 SERVICE_NAME、lsnrctl services 查看已註冊服務 |
OCI.dll not found | PATH 未包含 Instant Client 目錄 | 將目錄加入 Path 最前端、重開終端機 |
| 中文亂碼 | NLS_LANG 未設或與資料庫字元集不符 | 設定 NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8 (或資料庫實際字元集) |
sqlplus.exe、OCI DLL)oci.h、orasql.h、libclntsh.lib,供 Pro*C/ODBC/JDBC-OCI 編譯)ojdbc8.jar (純 Java 實作),URL 格式 jdbc:oracle:thin:@host:port:service。