記事 Hiroshi Sato · 7月 27 4m read

ODBCログの取得方法(Windows)

これは InterSystems FAQ サイトの記事です。
 

ODBCクライアントからのアクセスでエラーが発生した場合、返ってきたエラーメッセージやコンソールログ上の情報だけでは原因がよくわからない場合があります。

そのような場合に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

 

ログの内容の解析は専門的な知識が必要となりますので、取得後インターシステムズサポートセンターまでお送りください。