特別なSQL構成オプション
Oracleによって含まれていないODBCドライバをEssbaseとともに使用してデータベースに接続する場合や、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.so
WindowsのDriverNameを確認するには、Windows 64ビットODBCデータソース・アドミニストレータ・ユーティリティの「ドライバ」タブを調べます。

キーワード | 値 | 値= 0 | 値= 1 |
---|---|---|---|
説明 | (オプション)ドライバの説明(二重引用符で囲みます)。デフォルト値は、"" です。 |
該当なし | 該当なし |
DriverName | (必須)ドライバ・ファイル名です(例:ARORA)。 | 該当なし | 該当なし |
UserId | 0または1 | ユーザーIDは不要です(デフォルト) | ユーザーIDは必須です |
パスワード | 0または1 | パスワードは不要です(デフォルト) | パスワードは必須です |
Database | 0または1 | データベース名は不要です(デフォルト) | データベース名は必須です |
Server | 0または1 | サーバー名は不要です(デフォルト) | サーバー名は必須です |
Application | 0または1 | アプリケーション名は不要です(デフォルト) | アプリケーション名は必須です |
Dictionary | 0または1 | ディクショナリ名は不要です(デフォルト) | ディクショナリ名は必須です |
Files | 0または1 | ファイル名は不要です(デフォルト) | ファイル名は必須です |
SingleConnection | 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つ以上のスペースで区切る必要があり、ドライバごとのキーワードと値のセットは大カッコ( [ ] )で囲む必要があります。
ドライバが異なると、追加の値が必要になることがあります。具体的な情報は、ドライバのドキュメントを参照してください。