建立一般 JDBC 驅動程式的連線與資料來源

您可以使用此工作流程運用上傳至 Essbase 伺服器的驅動程式,讓 Essbase 連線至任何 JDBC 資料來源。

如果您是 Essbase 部署管理員,可以將 Essbase 設定成使用您上傳至 Essbase 伺服器機器的偏好驅動程式。Oracle 已使用 Oracle 驅動程式測試 Essbase JDBC 連線。若要使用其他廠商的 JDBC 驅動程式,請查看驅動程式文件,以瞭解有關指定您 JDBC 資料來源之 URL 和證明資料的需求。如需任何與效能有關的步驟,請參閱廠商的 JDBC 文件。

註:

請確定您搭配 Essbase 使用的 JDBC 驅動程式遵照 setFetchSize 方法來控制處理結果集時使用的記憶體。為了最佳化資料載入與維度建置處理作業的效能,Essbase 每次網路呼叫會擷取 1000 筆記錄。

Essbase 設定成使用一般 JDBC 驅動程式的作業如下:

  1. 使用 SSH 連線至 Essbase 伺服器機器。

  2. 在伺服器執行處理上的 <Essbase 產品本位目錄> 中建立 drivers 目錄。

    路徑會區分大小寫,因此請確保 drivers 全部都是小寫字母。

  3. 從您的廠商網站下載要使用的 JDBC 驅動程式 JAR。

    Essbase 支援的 Oracle Database JDBC 驅動程式為 ojdbc8.jar

    如果您使用自治式資料倉儲,就必須下載包含 Oracle JDBC Thin 驅動程式與配套 JAR 的完整存檔 (ojdbc8-full.tar.gz)。

  4. 將 JDBC 驅動程式 JAR 上傳到 Essbase 執行處理的 drivers 目錄。

    針對每個資料庫驅動程式,請只上傳一個版本到 drivers 目錄。例如,請勿同時上傳 sqljdbc41.jarsqljdbc42.jar,否則 Essbase 將使用較舊的版本 (因為它會優先顯示在 CLASSPATH 中)。

    如果您使用自治式資料倉儲,請將存檔 (ojdbc8-full.tar.gz) 解壓縮,然後將所有內容直接搬移至 drivers 目錄 (而不是子資料夾)。

  5. 建立與 JDBC 驅動程式的連線。

    1. Essbase Web 介面中,依序按一下來源連線

      或者,若要定義應用程式層級 (而非全域) 的連線和資料來源,請在「應用程式」頁面 (而不是「來源」頁面) 中,依序按一下應用程式名稱和來源

    2. 按一下建立連線,然後選取 JDBC

      為了尋找 JDBC 驅動程式,Essbase 會查看 drivers 資料夾。如果沒有找到任何 jar 檔案,Essbase 就會在您測試連線時傳回「找不到類別」(或無法載入驅動程式) 錯誤。

    3. 建立連線畫面中,

      1. 提供 JDBC 連線的名稱。例如 Oracle JDBC。

      2. 在 URL 欄位中,提供 JDBC 連線字串。例如 jdbc:oracle:thin:@myserver.example.com:1521/orclpdb.example.com。從 JDBC 提供者取得 JDBC 連線字串。

        以上的語法格式只適用於 Oracle Database。如果您使用其他提供者,請參閱一般 JDBC 驅動程式的其他連線範例

      3. 針對「使用者」與「密碼」欄位,輸入獲授權存取資料庫的使用者證明資料。

      4. 在「驅動程式」欄位中,提供 JDBC 驅動程式的完整類別名稱。例如 oracle.jdbc.driver.OracleDriver


      JDBC 驅動程式連線類型的「建立連線」對話方塊。名稱:Oracle JDBC,URL:jdbc:oracle:thin:@myserver.example.com:1521/orclpdb.example.com,使用者:essbase,密碼:(被遮蔽),驅動程式:oracle.jdbc.driver.OracleDriver,描述:Oracle JDBC 8 connection

      針對 Oracle 驅動程式,請使用下列語法準則來指定 URL:

      • 如果 Oracle Database 已向監聽器註冊,您可以在 URL 中運用簡短語法 jdbc:oracle:thin:@<host>:<port>/<servicename> 使用「服務名稱」而不是 SID。範例:

        jdbc:oracle:thin:@myserver.example.com:1521/orclpdb.example.com
      • 以下範例使用「服務名稱」搭配完整語法。

        jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(host=myserver.example.com)(protocol=tcp)(port=1521))(CONNECT_DATA=(SERVICE_NAME=orclpdb.example.com)))
      • 若要使用唯一識別資料庫的 Oracle 系統 ID (SID),請使用 jdbc:oracle:thin:@<host>:<port>:<SID> 語法。例如:

        jdbc:oracle:thin:@myhost:1521:orcl
      • 如果您使用自治式資料倉儲,則必須在 URL 語法中包含指定公事包路徑的 TNS_ADMIN 環境變數。公事包可以在 Essbase 伺服器機器上的任何位置,但您必須使用以下語法提供完整路徑:jdbc:oracle:thin:@database_service_name?TNS_ADMIN=walletpath

        Linux 範例

        jdbc:oracle:thin:@adwsql_low?TNS_ADMIN=/scratch/oracle_home/dist/essbase/drivers/adwConn

        Windows 範例

        jdbc:oracle:thin:@adwsql_low?TNS_ADMIN="C:\\Oracle123\\Middleware\\Oracle_Home\\essbase\\drivers\\adwConn"

        OCI 部署範例

        jdbc:oracle:thin:@adwsql_low?TNS_ADMIN=/u01/data/essbase/catalog/users/firstname.lastname@example.com/adwconn

      以上的範例只適用於 Oracle Database。如果您使用其他提供者,請參閱一般 JDBC 驅動程式的其他連線範例

    4. 按一下測試以驗證連線,如果成功,請按一下建立

    5. 確認連線已順利建立並顯示在連線清單中。

  6. 透過一般 JDBC 驅動程式建立資料來源。

    1. 依序按一下資料來源建立資料來源

    2. 連線下拉式方塊中選取剛才建立的連線名稱;例如 Oracle JDBC。應用程式層級連線會以應用程式名稱作為首碼,格式為 appName.connectionName

    3. 提供資料來源的名稱;例如 OracleDB_Datasource。

    4. 視需要輸入資料來源的描述;例如 SAMPLE_BASIC_TABLE on Oracle Database

    5. 在「查詢」欄位中提供適當的 SQL 查詢,用以選取要在此資料來源提供的資料。

    6. 按一下下一步。查詢表格的 SQL 敘述句如果正確,就會填入查詢的資料欄。

    7. 請將所有數值資料欄都變更為「雙精度浮點數」,然後按一下下一步

    8. 變更任何其他的來源特定參數 (如果適用),然後按一下下一步。如需瞭解如何使用參數,請參閱實作資料來源的參數

    9. 複查預覽面板。您應該會見到從外部來源擷取資料欄資料的查詢結果。

    10. 如果預覽看起來正確,請按一下建立以完成建立資料來源。