UNIX 環境では、ODBC アドミニストレーターもドライバー・マネージャーもありません。 ODBC データ・ソース名 (DSN) 定義を構成するには、必要なシステム情報を編集する必要があります。これは、.odbc.ini という名前のプレーン・テキスト・ファイルに保持されます (このファイルの名前はピリオドで始まります)。
このファイルを指すように ODBCINI 環境変数を設定します (絶対パスとファイル名を指定する)。 この変数を設定しない場合、デフォルトでパスは 32 ビットの実行グループの場合、$MQSI_REGISTRY/odbc/.odbc.ini になります。これは、WebSphere Message Broker のインストール時に作成されます。このファイルには mqm:mqbrkrs のファイル許可がなければなりません。
サンプル・テンプレートがファイル <install_dir>/merant/odbc.ini として提供されており、このファイルには WebSphere Message Broker がサポートする各データベース内にある DSN の構成方法例が含まれています。サポートされるプラットフォームのサンプル・テンプレート・ファイルが下に表示されます。それらは、サポートされるデータベースの推奨される構成を示しています。
ローカル要件と一致するように構成しなければならないスタンザ内のエントリーはイタリックで示されています (これらのエントリーについては、『ODBC.ini パラメーター』で説明されています)。すべてのエントリーを表示させておく必要がありますが、構成で必要なければスタンザそのものを除去することができます (例えば、Oracle データベースを使用する場合、DB2 および Sybase に関して示されるスタンザを除去することができます)。
デフォルト・ファイルのコピーを作り、ODBCINI をそのコピーを指すように設定し、デフォルトにではなくてそのコピー・ファイルに対して変更を行います。
適切なライブラリー検索パス環境変数 (Solaris および Linux (x86 プラットフォーム) では LD_LIBRARY_PATH) が使用されるデータベース製品を反映するように設定します。詳しくは、データベース製品資料を参照してください。
Linux (zSeries プラットフォーム) または Linux (POWER プラットフォーム) を使用する場合は、ODBC 接続の定義は不要です。代わりに、メッセージ・フローで使用されるデータ・ソース名が、データベースの DB2 別名と同じになります。
64 ビット DB2 インスタンスを使用する場合は、必ずライブラリー検索パス環境変数の先頭に <DB2 instance directory>/sqllib/lib32 を追加してください。64 ビット Oracle インスタンスを使用する場合は、必ずライブラリー検索パス環境変数の先頭に $ORACLE_HOME/lib32 を追加してください。64 ビット実行グループを使用する場合は、必ず環境変数 MQSI_LIBPATH64 を設定して、正規の 64 ビット・データベース・ライブラリーを含めてください。
WebSphere MQ バージョン 6 を使用する場合は、ご使用の操作環境用の「WebSphere MQ スタートアップ・ガイド」にある『64 ビットのキュー・マネージャーについて』のセクションを参照してください。
AIX 上では、データベースとして DB2 を使用する場合、単一プロセスからは共用メモリーを使用する最大 10 個の接続が許可されます。ということは、同時に 1 個か 2 個より多いメッセージ・フローをデプロイすると、DB2 エラー・メッセージ SQL1224N で示される接続の失敗が生じる可能性があります。 ブローカーの実行グループからシステム・ログに接続エラーが報告されます。 この問題を回避するために、TCP/IP モードを使用して DB2 に接続することができます。 この作業を行う方法について詳細は、『DB2 への接続時に DB2 エラー・メッセージ SQL1224N が出される』を参照してください。
サンプルの ODBC.ini 情報を示します。
[ODBC Data Sources] WBRKBKDB=IBM DB2 ODBC Driver MYDB=IBM DB2 ODBC Driver ORACLEDB=DataDirect 5.0 Oracle SYBASEDB=DataDirect 5.0 Sybase Wire ProtocolSQLSERVERDB
=DataDirect 5.0 SQL Server Wire Protocol
INFORMIXDB
=IBM Informix ODBC Driver
[WBRKBKDB] Driver=/u/db2inst1/sqllib/lib/libdb2.a Description=WBRKBKDB DB2 ODBC Database Database=WBRKBKDB
[MYDB] Driver=/u/db2inst1/sqllib/lib/libdb2.a Description=MYDB DB2 ODBC Database Database=MYDB
[ORACLEDB] Driver=<Your installation directory>/merant/lib/UKor820.so Description=DataDirect 5.0 Oracle ServerName=<YourServerName> EnableDescribeParam=1 OptimizePrepare=1 ProcedureRetResults=1 WorkArounds=536870912
[SYBASEDB] Driver=<Your installation directory>/merant/lib/UKase20.so Description=DataDirect 5.0 Sybase Wire Protocol Database=<Your Database Name> ServerName=<YourServerName> EnableDescribeParam=1 OptimizePrepare=1 SelectMethod=0 NetworkAddress=<YourServerName,YourPortNumber> SelectUserName=1
[SQLSERVERDB]
Driver=<Your installation directory>/merant/lib/UKmsss20.so
Description=DataDirect 5.0 SQL Server Wire Protocol
Address=<Your SQLServer host>,<your SQLServer post>
AnsiNPW=Yes
Database=<Your Database Name>
QuoteId=No
[INFORMIXDB]
Driver=<Your Informix Client directory>/lib/cli/iclit09b.so
Description=IBM Informix ODBC Driver
ServerName=<Your server name>
Database=<Your Datasource>
[ODBC] Trace=0 TraceFile=<A directory with plenty of free space>/odbctrace.out TraceDll=<Your installation directory>/merant/lib/odbctrac.so InstallDir=<Your installation directory>/merant UseCursorLib=0 IANAAppCodePage=4 UNICODE=UTF-8
[ODBC Data Sources] WBRKBKDB=IBM DB2 ODBC Driver MYDB=IBM DB2 ODBC Driver ORACLEDB=DataDirect 5.0 Oracle SYBASEDB=DataDirect 5.0 Sybase Wire ProtocolSQLSERVERDB
=DataDirect 5.0 SQL Server Wire Protocol
INFORMIXDB
=IBM Informix ODBC Driver
[WBRKBKDB] Driver=/u/db2inst1/sqllib/lib/libdb2.sl Description=WBRKBKDB DB2 ODBC Database Database=WBRKBKDB
[MYDB] Driver=/u/db2inst1/sqllib/lib/libdb2.sl Description=MYDB DB2 ODBC Database Database=MYDB
[ORACLEDB] Driver=<Your installation directory>/merant/lib/UKor820.sl Description=DataDirect 5.0 Oracle ServerName=<YourServerName> EnableDescribeParam=1 OptimizePrepare=1 ProcedureRetResults=1 WorkArounds=536870912
[SYBASEDB] Driver=<Your installation directory>/merant/lib/UKase20.sl Description=DataDirect 5.0 Sybase Wire Protocol Database=<Your Database Name> ServerName=<YourServerName> EnableDescribeParam=1 OptimizePrepare=1 SelectMethod=0 NetworkAddress=<YourServerName,YourPortNumber> SelectUserName=1
[SQLSERVERDB]
Driver=<Your installation directory>/merant/lib/UKmsss20.sl
Description=DataDirect 5.0 SQL Server Wire Protocol
Address=<Your SQLServer host>,<your SQLServer post>
AnsiNPW=Yes
Database=<Your Database Name>
QuoteId=No
[INFORMIXDB]
Driver=<Your Informix Client directory>/lib/cli/iclit09b.sl
Description=IBM Informix ODBC Driver
ServerName=<Your server name>
Database=<Your Datasource>
[ODBC] Trace=0 TraceFile=<A directory with plenty of free space>/odbctrace.out TraceDll=<Your installation directory>/merant/lib/odbctrac.sl InstallDir=<Your installation directory>/merant UseCursorLib=0 IANAAppCodePage=4 UNICODE=UTF-8
[ODBC Data Sources] WBRKBKDB=IBM DB2 ODBC Driver MYDB=IBM DB2 ODBC Driver ORACLEDB=DataDirect 5.0 Oracle SYBASEDB=DataDirect 5.0 Sybase Wire ProtocolSQLSERVERDB
=DataDirect 5.0 SQL Server Wire Protocol
INFORMIXDB
=IBM Informix ODBC Driver
[WBRKBKDB] Driver=/u/db2inst1/sqllib/lib/libdb2.so Description=WBRKBKDB DB2 ODBC Database Database=WBRKBKDB
[MYDB] Driver=/u/db2inst1/sqllib/lib/libdb2.so Description=MYDB DB2 ODBC Database Database=MYDB
[ORACLEDB] Driver=<Your installation directory>/merant/lib/UKor820.so Description=DataDirect 5.0 Oracle ServerName=<YourServerName> EnableDescribeParam=1 OptimizePrepare=1 ProcedureRetResults=1 WorkArounds=536870912
[SYBASEDB] Driver=<Your installation directory>/merant/lib/UKase20.so Description=DataDirect 5.0 Sybase Wire Protocol Database=<Your Database Name> ServerName=<YourServerName> EnableDescribeParam=1 OptimizePrepare=1 SelectMethod=0 NetworkAddress=<YourServerName,YourPortNumber> SelectUserName=1
[SQLSERVERDB]
Driver=<Your installation directory>/merant/lib/UKmsss20.so
Description=DataDirect 5.0 SQL Server Wire Protocol
Address=<Your SQLServer host>,<your SQLServer post>
AnsiNPW=Yes
Database=<Your Database Name>
QuoteId=No
[INFORMIXDB]
Driver=<Your Informix Client directory>/lib/cli/iclit09b.so
Description=IBM Informix ODBC Driver
ServerName=<Your server name>
Database=<Your Datasource>
[ODBC] Trace=0 TraceFile=<A Directory with plenty of free space>/odbctrace.out TraceDll=<Your installation directory>/merant/lib/odbctrac.so InstallDir=<Your installation directory>/merant UseCursorLib=0 IANAAppCodePage=4 UNICODE=UTF-8
[ODBC Data Sources] WBRKBKDB=IBM DB2 ODBC Driver MYDB=IBM DB2 ODBC Driver ORACLEDB=DataDirect 5.0 Oracle SYBASEDB=DataDirect 5.0 Sybase Wire ProtocolSQLSERVERDB
=DataDirect 5.0 SQL Server Wire Protocol
INFORMIXDB
=IBM Informix ODBC Driver
[WBRKBKDB] Driver=/u/db2inst1/sqllib/lib/libdb2.so Description=WBRKBKDB DB2 ODBC Database Database=WBRKBKDB
[MYDB] Driver=/u/db2inst1/sqllib/lib/libdb2.so Description=MYDB DB2 ODBC Database Database=MYDB
[ORACLEDB] Driver=<Your installation directory>/merant/lib/UKor820.so Description=DataDirect 5.0 Oracle ServerName=<YourServerName> EnableDescribeParam=1 ProcedureRetResults=1 OptimizePrepare=1 WorkArounds=536870912
[SYBASEDB] Driver=<Your installation directory>/merant/lib/UKase20.so Description=DataDirect 5.0 Sybase Wire Protocol Database=<Your Database Name> ServerName=<YourServerName> EnableDescribeParam=1 OptimizePrepare=1 SelectMethod=0 NetworkAddress=<YourServerName,YourPortNumber> SelectUserName=1
[SQLSERVERDB] Driver=<Your installation directory>/merant/lib/UKmsss20.so Description=DataDirect 5.0 SQL Server Wire Protocol Address=<Your SQLServer host>,<your SQLServer post> AnsiNPW=Yes Database=<Your Database Name> QuoteId=No
[INFORMIXDB]
Driver=<Your Informix Client directory>/lib/cli/iclit09b.so
Description=IBM Informix ODBC Driver
ServerName=<Your server name>
Database=<Your Datasource>
[ODBC] Trace=0 TraceFile=<A Directory with plenty of free space>/odbctrace.out TraceDll=<Your installation directory>/merant/lib/odbctrac.so InstallDir=<Your installation directory>/merant UseCursorLib=0 IANAAppCodePage=4 UNICODE=UTF-8