本文將介紹如何連結 Oracle 資料庫。
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
ojdbc14.jar
上傳驅動包的具體步驟可參見:驅動管理 2.1 節
在連結資料庫之前,請收集以下資訊:
資料庫所在伺服器的 IP 位址和埠號;
資料庫的名稱;
資料庫的帳號和密碼;
要連結的資料庫模式;
1)以管理者身分登入 FineBI ,點選「管理系統>資料連結管理」,點選「建立資料連結」,如下圖所示:
注:如果非管理者使用者想要配置資料連結,需要管理者給其分配管理系統下資料連結節點的權限,具體操作請查看 資料連結權限
2)找到 Oracle 資料庫,如下圖所示:
3)輸入 2.2 節的連結資訊。若驅動是內建,選擇「預設」;若驅動是自己上傳的,可以選擇「自訂」,勾選自己要的驅動。
模式需要連結資料庫後才可以選擇,所以需要先點選「點選連結資料庫」後,再選擇「模式」,如下圖所示:
注:連結多模式的資料庫時使用 SQL 語句需要帶上模式名前綴進行搜尋,例如 SELECT * FROM "ABBY"."FR_S_UEP"
驅動、資料庫名稱、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)點選「測試連結」,若連結成功則點選「儲存」,如下圖所示:
有兩種方式可以將資料庫中的表新增至 FineBI :
新增資料庫表
新增SQL資料集
在 Oracle 9i 版本中,精度為 0 的欄位值會被識別成正文而不是數值「該欄位值用 column.getSize() 計算得到的是 38 ,所以會被識別成正文屬性」;其他版本的 Oracle 未有此現象出現。
BI 平台 Oracle 連結池在一段時間沒有使用會自動釋放,之所以查看連結池有之前的連結,是因為後面使用者連結時又重新啟用,所以不會因為連結一直得不到釋放而造成問題。