ODBCログの取得方法(Windows)
これは InterSystems FAQ サイトの記事です。
ODBCクライアントからのアクセスでエラーが発生した場合、返ってきたエラーメッセージやコンソールログ上の情報だけでは原因がよくわからない場合があります。
そのような場合にODBCドライバのクライアントログを有効にすることで、エラーについての詳細情報を取得することができます
ODBCログの有効化については以下をご参照ください。
Windowsの場合は、上記に記載されている通り、2種類のログが取得できます。
- クライアント・ドライバのログを有効にするには、ODBCデータソースアドミニストレータで使用しているDSNの「ODBCログ」チェックボックスをチェックします。
- ドライバー・マネージャのログを有効にするには、[トレース]タブをクリックして[トレースの開始]ボタンをクリックします。
変更の反映にはODBCクライアントアプリケーションを再起動する必要があります。
既定のODBCクライアントログファイル名は IRISODBC.log で、既定の場所は C:¥Users¥Public¥Logs です。
既定のトレースログ名は、SQL.logで、既定の場所は、c:¥Users¥<ユーザー名>AppData¥Local¥Temp¥です。
(すべてのユーザーIDのコンピュータ全体のトレースをチェックしない場合)
複数回ODBCリクエストが実行された場合、上書きではなくログが追記されます。
クライアントのプロセス毎に個別にログを取得することもできます。
クライアントログが正常に取得できている場合、以下の様な内容が書き込まれます。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-StartedAt:TueMar2522:44:022025DriverName:IrisODBC3564.DLLUnicodeClientVersion:2024.2.0.247.0Compiledat:Jul16202409:17:19ODBCVersion:03.51LocaleSetting:Japanese_Japan.932=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-LoadConnectreturned:0x4DBC0000LoadConnectreturnedsm_pfnIRISconnectToHostPort:0x4DBC6750LoadConnectreturnedsm_pfnIRISconnectSend:0x4DBC62B0LoadConnectreturnedsm_pfnIRISconnectRecv:0x4DBC5E70LoadConnectreturnedsm_pfnIRISconnectClose:0x4DBC2CA0LoadConnectreturnedsm_pfnIRISconnectGetErrorCode:0x4DBC34C0LoadConnectreturnedsm_pIRISconnectGetErrorText:0x4DBDC000LoadConnectreturnedsm_pfnIRISconnectGetSecurityLevel:0x4DBC35F0LoadConnectreturnedsm_pfnIRISconnectSetSecurityLevel:0x4DBC6670LoadConnectreturnedsm_pfnIRISconnectGetSocketDescriptor:0x4DBC3610LoadConnectreturnedsm_pfnIRISconnectLoginToHostPort:0x4DBC4AE0LoadConnectreturnedsm_pfnIRISconnectGeneratePrincipalName:0x4DBC3120LoadConnectreturnedsm_pfnIRISconnectGetLicenseId:0x4DBC3530LoadConnectreturnedsm_pfnIRISconnectSetTraceFilePtr:0x4DBC6740LoadConnectreturnedsm_pfnIRISconnectGetTSClientName:0x4DBC3620LoadConnectreturnedsm_pfnIRISconnectSetLocalBindings:0x4DBC64E0LoadConnectreturnedsm_pfnIRISconnectSetMode:0x4DBC6630LoadConnectreturnedsm_pfnIRISconnectGetRdlen:0x4DBC35E0GetLocalizedResources:(03/25/25-22:44:02:636)FoundresourcesforlocaleJPN(400)inC:\ProgramFiles\CommonFiles\InterSystems\IRIS\IrisODBCJPN.DLL-->ConfigDSNW:(03/25/25-22:44:02:636)hParent=0x000a1350request2<--ConfigDSNW:(03/25/25-22:44:11:189)returning1
トレースログが正常に取得できている場合、以下の様な内容が書き込まれます。
EXCEL acec-31b4 ENTER SQLAllocHandle
SQLSMALLINT 1 <SQL_HANDLE_ENV>
SQLHANDLE 0x0000000000000000
SQLHANDLE * 0x000002D12FAA60A0
EXCEL acec-31b4 EXIT SQLAllocHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 1 <SQL_HANDLE_ENV>
SQLHANDLE 0x0000000000000000
SQLHANDLE * 0x000002D12FAA60A0 ( 0x000002D11D6A1070)
EXCEL acec-31b4 ENTER SQLSetEnvAttr
SQLHENV 0x000002D11D6A1070
SQLINTEGER 200 <SQL_ATTR_ODBC_VERSION>
SQLPOINTER 3 <SQL_OV_ODBC3>
SQLINTEGER -6
ログの内容の解析は専門的な知識が必要となりますので、取得後インターシステムズサポートセンターまでお送りください。
ディスカッション (0)0