從 Essbase 建立外部來源資料連線之前,必須先向系統管理員取得連線詳細資訊,例如主機名稱、使用者名稱、密碼以及任何其他服務證明資料。
建立全域連線
建立全域連線 (可供多個應用程式存取) 的作業如下:
以服務管理員身分登入 Essbase Web 介面。
按一下來源。
按一下建立連線,然後選取您要連線的來源。Essbase 隨附的來源與版本列在認證表的資料庫一節中 (請參閱平台 SQL 表格)。如果您偏好使用自己即將上傳的 JDBC 驅動程式,請參考建立一般 JDBC 驅動程式的連線與資料來源以取得詳細資訊。
完成連線詳細資訊並儲存連線。接著,建立一或多個使用該連線的資料來源。輸入詳細資訊會因來源類型而異。
建立應用程式層級連線
建立應用程式層級連線 (僅可供該應用程式存取) 的作業如下:
在應用程式頁面上,按一下應用程式名稱右邊的「動作」功能表,然後按一下檢查。
按一下來源頁籤。
按一下建立連線,然後選取您要連線的來源。Essbase 隨附的支援來源與版本列在認證表的資料庫一節中 (請參閱平台 SQL 表格)。如果您偏好使用自己即將上傳的 JDBC 驅動程式,請參考建立一般 JDBC 驅動程式的連線與資料來源以取得詳細資訊。
完成連線詳細資訊並儲存連線。接著,建立一或多個使用該連線的資料來源。輸入詳細資訊會因來源類型而異。
來源特定工作流程
如需瞭解一些來源特定的工作流程,請參閱下列主題:
定義 Essbase 與 Oracle Database 之間的連線和資料來源。
如果適用,請使用下列其中一個子主題而不是此主題:
定義 Essbase 與自治式資料倉儲之間的連線和資料來源。
如果您將在 Essbase 與無伺服器自治式資料倉儲之間建立同盟分割區,請使用下列主題而不是此主題:建立同盟分割區的連線。
若要建立全域連線,您必須具備服務管理員角色。若要建立應用程式層級連線,您必須具備應用程式的使用者角色,再加上應用程式管理者權限。
您可以使用此工作流程運用上傳至 Essbase 伺服器的驅動程式,讓 Essbase 連線至任何 JDBC 資料來源。
如果您是 Essbase 部署管理員,可以將 Essbase 設定成使用您上傳至 Essbase 伺服器機器的偏好驅動程式。Oracle 已使用 Oracle 驅動程式測試 Essbase JDBC 連線。若要使用其他廠商的 JDBC 驅動程式,請查看驅動程式文件,以瞭解有關指定您 JDBC 資料來源之 URL 和證明資料的需求。如需任何與效能有關的步驟,請參閱廠商的 JDBC 文件。
註:
請確定您搭配 Essbase 使用的 JDBC 驅動程式遵照 setFetchSize 方法來控制處理結果集時使用的記憶體。為了最佳化資料載入與維度建置處理作業的效能,Essbase 每次網路呼叫會擷取 1000 筆記錄。
將 Essbase 設定成使用一般 JDBC 驅動程式的作業如下:
使用 SSH 連線至 Essbase 伺服器機器。
在伺服器執行處理上的 <Essbase 產品本位目錄> 中建立 drivers
目錄。
路徑會區分大小寫,因此請確保 drivers
全部都是小寫字母。
從您的廠商網站下載要使用的 JDBC 驅動程式 JAR。
Essbase 支援的 Oracle Database JDBC 驅動程式為 ojdbc8.jar
。
如果您使用自治式資料倉儲,就必須下載包含 Oracle JDBC Thin 驅動程式與配套 JAR 的完整存檔 (ojdbc8-full.tar.gz
)。
將 JDBC 驅動程式 JAR 上傳到 Essbase 執行處理的 drivers
目錄。
針對每個資料庫驅動程式,請只上傳一個版本到 drivers
目錄。例如,請勿同時上傳 sqljdbc41.jar
與 sqljdbc42.jar
,否則 Essbase 將使用較舊的版本 (因為它會優先顯示在 CLASSPATH 中)。
如果您使用自治式資料倉儲,請將存檔 (ojdbc8-full.tar.gz
) 解壓縮,然後將所有內容直接搬移至 drivers
目錄 (而不是子資料夾)。
建立與 JDBC 驅動程式的連線。
在 Essbase Web 介面中,
按一下建立連線,然後選取 JDBC。
為了尋找 JDBC 驅動程式,Essbase 會查看 drivers
資料夾。如果沒有找到任何 jar
檔案,Essbase 就會在您測試連線時傳回「找不到類別」(或無法載入驅動程式) 錯誤。
在建立連線畫面中,
提供 JDBC 連線的名稱。例如 OrclJDBC。
在 URL 欄位中,提供 JDBC 連線字串。例如 jdbc:oracle:thin:@myserver:1521:orcl
。從 JDBC 提供者取得 JDBC 連線字串。
以上的語法格式只適用於 Oracle Database。如果您使用其他提供者,請參閱一般 JDBC 驅動程式的其他連線範例。
針對「使用者」與「密碼」欄位,輸入獲授權存取資料庫的使用者證明資料。
在「驅動程式」欄位中,提供 JDBC 驅動程式的完整類別名稱。例如 oracle.jdbc.driver.OracleDriver
。
針對 Oracle 驅動程式,請使用下列語法準則來指定 URL:
若要使用唯一識別資料庫的 Oracle 系統 ID (SID),請使用 jdbc:oracle:thin:@<host>:<port>:<SID>
語法。例如:
jdbc:oracle:thin:@myhost:1521:orcl
如果 Oracle Database 已向監聽器註冊,您可以在 URL 中運用簡短語法 jdbc:oracle:thin:@<host>:<port>/<servicename>
使用「服務名稱」而不是 SID。範例:
jdbc:oracle:thin:@myhost.example.com:1521/orcl.esscs.myhost.example.com
以下範例使用「服務名稱」搭配完整語法。
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(host=myhost.example.com)(protocol=tcp)(port=1521))(CONNECT_DATA=(SERVICE_NAME=orcl.example.com)))
如果您使用自治式資料倉儲,則必須在 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 驅動程式的其他連線範例。
按一下測試以驗證連線,如果成功,請按一下建立。
確認連線已順利建立並顯示在連線清單中。
透過一般 JDBC 驅動程式建立資料來源。
依序按一下資料來源和建立資料來源。
從連線下拉式方塊中,選取剛才建立的連線名稱;例如 SAMPLE.OrclJDBC。應用程式層級連線會以應用程式名稱作為首碼,格式為 appName.connectionName。
提供資料來源的名稱;例如 OrclJDBC_DS。
視需要輸入資料來源的描述;例如 SAMPLE_BASIC_TABLE on Oracle Database。
在「查詢」欄位中提供適當的 SQL 查詢,用以選取要在此資料來源提供的資料。
按一下下一步。如果查詢表格的 SQL 敘述句正確,您應該會見到已填入所查詢的資料欄。
將所有數值資料欄都變更為「雙精度浮點數」,然後按一下下一步。
變更任何其他的來源特定參數 (如果適用),然後按一下下一步。如需瞭解如何使用參數,請參閱實作資料來源的參數。
複查預覽面板。您應該會見到從外部來源擷取資料欄資料的查詢結果。
如果預覽看起來正確,請按一下建立以完成建立資料來源。
這些範例說明使用 Essbase 連線至非 Oracle JDBC 資料來源,以及使用您上傳至 Essbase 伺服器的驅動程式。
以下範例適用於非 Oracle 來源。若要建立使用一般 JDBC 驅動程式的 Oracle Database 連線,請參閱建立一般 JDBC 驅動程式的連線與資料來源。
DB2 的 JDBC 連線範例
在建立連線畫面中,
提供 JDBC 連線的名稱。例如,DB2conn。
在 URL 欄位中,提供 JDBC 連線字串。例如, jdbc:db2://myhostname02.example.com:50000/TBC
。從 JDBC 提供者取得 JDBC 連線字串。
針對「使用者」與「密碼」欄位,輸入獲授權存取資料庫的使用者證明資料。
在「驅動程式」欄位中,提供 JDBC 驅動程式的完整類別名稱。例如,com.ibm.db2.jcc.DB2Driver
。
MySQL 的 JDBC 連線範例
在建立連線畫面中,
提供 JDBC 連線的名稱。例如,MySQLconn。
在 URL 欄位中,提供 JDBC 連線字串。例如, jdbc:mysql://myhostname03.example.com:3306/tbc
。從 JDBC 提供者取得 JDBC 連線字串。
針對「使用者」與「密碼」欄位,輸入獲授權存取資料庫的使用者證明資料。
在「驅動程式」欄位中,提供 JDBC 驅動程式的完整類別名稱。例如,com.mysql.jdbc.Driver
。
SQL Server 的 JDBC 連線範例
在建立連線畫面中,
提供 JDBC 連線的名稱。例如,MSSQLConn。
在 URL 欄位中,提供 JDBC 連線字串。例如, jdbc:sqlserver://myhostname04.example.com:1433
。從 JDBC 提供者取得 JDBC 連線字串。
針對「使用者」與「密碼」欄位,輸入獲授權存取資料庫的使用者證明資料。
在「驅動程式」欄位中,提供 JDBC 驅動程式的完整類別名稱。例如,com.microsoft.sqlserver.jdbc.SQLServerDriver
。
Teradata 的 JDBC 連線範例
在建立連線畫面中,
提供 JDBC 連線的名稱。例如,TeraDconn。
在 URL 欄位中,提供 JDBC 連線字串。例如, jdbc:teradata://myhostname05.example.com/DBS_PORT=1025
。從 JDBC 提供者取得 JDBC 連線字串。
針對「使用者」與「密碼」欄位,輸入獲授權存取資料庫的使用者證明資料。
在「驅動程式」欄位中,提供 JDBC 驅動程式的完整類別名稱。例如,com.teradata.jdbc.TeraDriver
。