1. 概述
2. 準備工作
2.1 版本和驅動
支援的資料庫版本 | 驅動包下載 |
---|---|
Oracle 11.1 Oracle 11.2 / 11g-R2 Oracle 12.1 / 12c-R1 Oracle 12.2 / 12c-R2 Oracle 13 Oracle 19c | 已內建,無需下載 |
Oracle 9.2.0 / 9i Oracle 10.1 Oracle 10.2 / 10g-R2 | 上傳驅動包的具體步驟可參見:驅動管理 2.1 節 |
2.2 收集連結資訊
在連結資料庫之前,請收集以下資訊:
資料庫所在伺服器的 IP 位址和埠號;
資料庫的名稱;
資料庫的帳號和密碼;
要連結的資料庫模式;
3. 具體連結步驟
1)以管理者身分登入 FineBI ,點選「管理系統>資料連結管理」,點選「新建資料連結」,如下圖所示:
注:如果非管理者使用者想要配置資料連結,需要管理者給其分配管理系統下資料連結節點的權限,具體操作請查看 資料連結權限
2)找到 Oracle 資料庫,如下圖所示:
3)輸入 2.2 節的連結資訊。若驅動是內建,選擇「預設」;若驅動是自己上傳的,可以選擇「自訂」,勾選自己要的驅動。
模式需要連結資料庫後才可以選擇,所以需要先點選「點選連結資料庫」後,再選擇「模式」,如下圖所示:
注:連結多模式的資料庫時使用 SQL 語句需要帶上模式名前綴進行搜尋,例如 SELECT * FROM "ABBY"."FR_S_UEP"
驅動、資料庫名稱、URL 的介紹如下表所示:
驅動 | DatabaseName | URL |
---|---|---|
oracle.jdbc.driver. OracleDriver | sid_name | jdbc:oracle:thin:@ip:port:sid_name |
service_name | jdbc:oracle:thin:@//ip:port/service_name 或者 jdbc:oracle:thin:@ip:port/service_name | |
TNSName 注:Oracle 安裝路徑下需要有 tnsnames.ora 檔案 | jdbc:oracle:thin:@TNSName |
TNSName 說明如下:
jdbc:oracle:thin:@TNSName URL 中,TNSName 的值為tnsnames.ora檔案中 ORCL 的值,如下圖所示:
完整的 URL 為:jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP)(HOST =localhost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)))
4)點選「測試連結」,若連結成功則點選「儲存」,如下圖所示:
4. 新增資料庫的表至 FineBI
5. 注意事項
在 Oracle 9i 版本中,精度為 0 的欄位值會被識別成文字而不是數值「該欄位值用 column.getSize() 計算得到的是 38 ,所以會被識別成文字屬性」;其他版本的 Oracle 未有此現象出現。
BI 平台 Oracle 連結池在一段時間沒有使用會自動釋放,之所以查看連結池有之前的連結,是因為後面使用者連結時又重新啟用,所以不會因為連結一直得不到釋放而造成問題。
若 Oracle 中的欄位名包含特殊值(例如:date#$%?/2"),可能會導致自助資料集選欄位的時候出現如下圖報錯。這時需要使用者更換使用驅動 ojdbc14 來連結資料庫,操作方式可參見本文 2.1 節。