特別なSQL構成オプション
OracleがEssbaseに含めていないODBCドライバを使用してデータベースに接続する場合や、Essbaseで配布されたドライバのデフォルト設定を変更する場合は、Essbaseドメインでesssql.cfgを構成してください。
ユース・ケース
デフォルトの設定の変更が必要になる使用例として、いずれかのドライバ(Essbaseに含まれているJDBC、ODBCまたはEssbaseに含まれていないもの)を使用してマルチスレッドのSQLデータ・ロード(並列データ・ロードとは異なります)を有効にする必要がある場合が挙げられます。たとえば、集約ストレージ・キューブにSQLデータをロードする場合は、最大8つまでのルール・ファイルを使用してデータを並列にロードすることができます。それぞれのルール・ファイルに、同じ認証情報(SQLユーザー名とパスワード)を含める必要があります。
Essbaseは、複数の(ルール・ファイルごとの)一時的な集計ストレージ・データ・ロード・バッファを初期化します。データ値は、このバッファに格納および累積されます。データがデータ・ロード・バッファに完全にロードされると、Essbaseは、すべてのバッファの内容を1回の操作でキューブにコミットします。これにより、個別にバッファをコミットするよりも高速になります。
次のMaxLの例では、SQLデータが2つのルール・ファイル(rule1.rulおよびrule2.rul)からロードされます。
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ドライバ[driverLibrary] ([DriverName])はすでに使用されており多重接続できません。後で試行してください。)が発生します。
また、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)が含まれている必要があります。オプションで説明(Description)を含めることもできます。構成ファイルには、値が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.soWindowsのDriverNameを確認するには、Windows 64ビットODBCデータソース・アドミニストレータ・ユーティリティの「ドライバ」タブを調べます。

| キーワード | Value | 値= 0 | 値= 1 |
|---|---|---|---|
| 説明 | (オプション)ドライバの説明(二重引用符で囲みます)。デフォルト値は""です。 |
N/A | N/A |
| DriverName | (必須)ドライバ・ファイル名です(例:ARORA)。 | N/A | N/A |
| UserId | 0または1 | ユーザーIDは不要です(デフォルト) | ユーザーIDは必須です |
| パスワード | 0または1 | パスワードは不要です(デフォルト) | パスワードが必要です |
| データベース | 0または1 | データベース名は不要です(デフォルト) | データベース名は必須です |
| サーバー | 0または1 | サーバー名は不要です(デフォルト) | サーバー名は必須です |
| 適用 | 0または1 | アプリケーション名は不要です(デフォルト) | アプリケーション名が必要です |
| ディクショナリ | 0または1 | ディクショナリ名は不要です(デフォルト) | ディクショナリ名は必須です |
| ファイル | 0または1 | ファイル名は不要です(デフォルト) | ファイル名が必要です |
| 単一接続 | 0または1 | ドライバはスレッドセーフです-- 複数のアクティブ接続が許可されます | ドライバはスレッドセーフではありません -- 1つのアクティブ接続が許可されます |
| IsQEDriver | 0または1 | ドライバはEssbaseに付属していません(デフォルト) | ドライバはEssbaseに付属しています |
| ConvertUTF16toUTF8 | 0または1 | UTF16データのUTF8への変換はありません(デフォルト)。 | Oracle BIデータ・ソースからのUTF16エンコード・データはUTF8に変換されます。これは、OBIからEssbaseへのSQLデータ・ロードの際にUNIXで必要になります。 |
デフォルトは、指定されていない値に適用されます。構成ファイル内で適用されるデフォルトは、esssql.cfgファイルが存在しない場合に適用されるEssbaseのデフォルト値とは異なります。
キーワードと値は1つ以上のスペースで区切る必要があり、ドライバごとのキーワードと値のセットは大カッコ( [ ] )で囲む必要があります。
ドライバが異なると、追加の値が必要になることがあります。詳細は、ドライバのドキュメントを参照してください。