需將 Oracle 資料庫即時資料匯入 Excel 進行分析、報表、樞紐分析,且希望後續能一鍵重新整理取得最新資料。
tnsnames.ora 服務名稱ORA_EXCEL (自訂)Oracle to Excel ExportSCOTTORCL (tnsnames.ora 中的別名)ORA_EXCEL → 確定SELECT A.ITEM_NO, A.ITEM_DESC, A.ITEM_UM,
A.ITEM_CREATED_BY, A.CREATED_DATE
FROM IC_ITEM_MST A
? 做參數 → 重新整理時提示輸入環境:Pentium III 933 MHz、256 MB RAM
4,000 筆記錄匯入耗時:**數秒內完成**
大量資料 (10 萬+ 筆) 建議:
/*+ FIRST_ROWS */ 提示SELECT *| 現象 | 可能原因 | 解決 |
|---|---|---|
| 找不到 Oracle ODBC 驅動 | 未安裝 Oracle Client 或位元數不符 | 安裝 32-bit Client (Office 32-bit) 或 64-bit Client (Office 64-bit) |
| ORA-12154 TNS 無法解析 | 服務名稱錯誤或 tnsnames.ora 路徑問題 | 用 tnsping 測試、確認 TNS_ADMIN 環境變數 |
| 中文顯示亂碼 | NLS_LANG 設定錯誤 | 登錄表/環境變數設 NLS_LANG=TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950 |
| 查詢逾時 | 資料量大、無索引 | 優化 SQL、增加 Command Timeout (Microsoft Query 選項) |
| 方案 | 優點 | 缺點 |
|---|---|---|
| ODBC + Microsoft Query | 無程式碼、支援重新整理、參數化、樞紐分析 | 需客戶端配置 ODBC、大量資料較慢 |
| SQL*Plus SPOOL CSV | 伺服器端執行、速度快、自動化腳本友善 | 需手動開啟 CSV、格式固定、無即時連結 |
| PL/SQL + UTL_FILE 產生 CSV/XLSX | 伺服器端、可排程、可產生真 Excel (POI) | 需開發維護、權限管控 |
| Oracle REST Data Services (ORDS) + Power Query | 現代、安全、支援增量重新整理、無驅動 | 需部署 ORDS、學習曲線 |