特殊 SQL 組態選項
若要使用 Oracle 不含 Essbase 的 ODBC 驅動程式連線資料庫,或想要變更隨 Essbase 分配之任何驅動程式的預設值時,請在 Essbase 網域上設定 esssql.cfg。
使用案例
需要變更預設設定值的一個使用案例是,您需要使用任何驅動程式 (無論是 JDBC、ODBC、包含在 Essbase 中,或未包含在 Essbase 中) 啟用多執行緒 SQL 資料載入 (與平行資料載入不同) 時。例如,將 SQL 資料載入聚總儲存立方體時,您最多可以使用 8 個規則檔案來平行載入資料。每個規則檔都必須包含相同的認證資訊 (SQL 使用者名稱和密碼)。
Essbase 會初始化多個暫時聚總儲存資料載入緩衝區 (每個規則檔案一個),其中資料值會排序並累積。當資料完全載入資料載入緩衝區時, Essbase 會以一項作業,將所有緩衝區的內容確認至立方體,比個別確認緩衝區快。
在下列 MaxL 範例中,從兩個規則檔 (rule1.rul 和 rule2.rul) 載入 SQL 資料:
import database AsoSamp.Basic data
connect as TBC identified by 'password'
using multiple rules_file 'rule1' , 'rule2'
to load_buffer_block starting with buffer_id 100
on error write to "error.txt";變更 SQL 組態
若要啟用外部 SQL 來源的多重執行緒資料載入 (如上述使用案例所示),您必須透過修改 esssql.cfg 來變更隨 Essbase 分配之動因的預設設定。否則,嘗試資料載入的並行使用者將會發生錯誤,例如:ERROR - 1021025 - SQL driver [driverLibrary] for [DriverName] is in use already and does not allow multiple connections. Please try later.
當您想要使用 Oracle 與 Essbase 不包含的 ODBC 驅動程式連線至資料庫時,也需要將項目新增至 esssql.cfg。
若要變更 SQL 組態設定值,
-
在 Essbase 網域上尋找 SQL 組態檔:
<DOMAIN HOME>/config/fmwconfig/essconfig/essbase/esssql.cfg -
以不同名稱儲存檔案的副本。例如,製作名為
esssql_cfg.orig的副本。 -
開啟
esssql.cfg進行編輯。您可以使用多個區塊 (每個驅動程式一個) 來設定此檔案。區塊是以方括號
[]來區隔。您可以複製和貼上圖塊,並視需要編輯每個動因的設定。 -
根據您的需求進行必要的變更,然後儲存檔案。請參閱下面的 esssql.cfg 選項。例如,若要啟用多重執行緒作業,請將 SingleConnection 的值變更為 0。
-
停止並重新啟動 Essbase 伺服器 (如啟動、停止及檢查伺服器中所述)。
esssql.cfg 檔案範例
下列範例 esssql.cfg 有 6 個配置區塊。依照預設,會新增前 5 個來源,作為設定不同來源以啟用多執行緒 SQL 資料載入的範例。
[
Description "Oracle BI Server"
DriverName libnqsodbc
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 0
ConvertUTF16toUTF8 1
]
[
Description "SQL Server"
DriverName SQLSRV
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 0
]
[
Description "Oracle SQL Server Wire Protocol"
DriverName ARSQLS
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 1
]
[
Description "Oracle DB2 Wire Protocol"
DriverName ARDB2
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 1
]
[
Description "Oracle MySQL Wire Protocol"
DriverName ARMYSQL
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 1
]
[
Description "Teradata"
DriverName TDATAODBC_SB64
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 0
]對於 Teradata DriverName,您可以使用 TDATA 或 TDATAODBC_SB64。
esssql.cfg 選項
esssql.cfg 組態檔至少必須包含驅動程式檔案名稱 (DriverName)。或者,它可以包含描述 (描述)。配置檔案可能包含其他關鍵字,其值為 0 或 1。
odbcinst.ini,位於 <Essbase Product Home>/modules/<driver class>/<driver version> 驅動程式名稱位於指定給驅動程式的路徑結尾。例如,從 odbcinst.ini 中的下列項目中,我們知道驅動程式名稱為 ARora (不需要包含版本資訊 28):
Driver=/scratch/username/oracle_home/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/lib/ARora28.so若要在 Windows 上尋找 DriverName,請查看「驅動程式」頁籤上的 Windows 64 位元 ODBC 資料來源管理員公用程式。

| 關鍵字 | 數值 | 值 = 0 | 值 = 1 |
|---|---|---|---|
| 描述 | (可選) 驅動程式的描述,以雙引號括住。預設值為 "" |
無 | 無 |
| DriverName | (必要) 驅動程式檔案名稱;例如 ARORA | 無 | 無 |
| UserId | 0 或 1 | 不需要使用者 ID (預設值) | 需有使用者識別碼 |
| 密碼 | 0 或 1 | 不需要密碼 (預設) | 必須輸入密碼 |
| Database | 0 或 1 | 不需要資料庫名稱 (預設) | 必須輸入資料庫名稱 |
| 伺服器 | 0 或 1 | 伺服器名稱不是必要的 (預設) | 需有伺服器名稱 |
| 套用 | 0 或 1 | 不需要應用程式名稱 (預設) | 必須輸入應用程式名稱 |
| 字典 | 0 或 1 | 不需要字典名稱 (預設值) | 必須輸入字典名稱 |
| 檔案 | 0 或 1 | 不需要檔案名稱 (預設值) | 必須輸入檔案名稱 |
| 單一連線 | 0 或 1 | 驅動程式執行緒安全 -- 允許多個作用中連線 | 驅動程式不具有執行緒安全性 -- 允許一個現用連線 |
| IsQEDriver | 0 或 1 | 驅動程式未隨附於 Essbase (預設) | 驅動程式隨附於 Essbase |
| ConvertUTF16toUTF8 | 0 或 1 | 沒有將 UTF16 資料轉換成 UTF8 (此為預設值)。 | 將 UTF16 編碼的資料從 Oracle BI 資料來源轉換成 UTF8。若要從 OBI 將 SQL 資料載入至 Essbase ,必須在 UNIX 上執行此動作。 |
預設值會套用至未指定的值。在組態檔中套用的預設值與 Essbase 預設值不同,如果沒有 esssql.cfg 檔案,則會套用這些預設值。
關鍵字和值必須至少以一個空格分隔,且每個驅動程式的關鍵字和值集必須以方括號 ([ ]) 括住。
不同的動因可能需要其他值。如需特定資訊,請參閱驅動程式文件。