パッケージの接続のトラブルシューティング
Integration Services には、パッケージと、パッケージがデータを抽出して読み込むデータ ソースとの接続のトラブルシューティングを行うための、機能とツールが用意されています。
外部データ プロバイダの問題のトラブルシューティング
多くのパッケージが、外部データ プロバイダとのやり取りで失敗します。ところが、これらのプロバイダが Integration Services に返すメッセージには、多くの場合、トラブルシューティングを開始するための十分な情報が含まれていません。トラブルシューティングのニーズに対応するために、Integration Services では、パッケージと外部データ ソースとのやり取りに関するトラブルシューティングに使用できる新しいログ メッセージが採用されています。
ログ記録を有効にして、パッケージの Diagnostic イベントを選択すると、トラブルシューティング メッセージが表示されます。次に示す Integration Services コンポーネントは、すべての外部データ プロバイダの呼び出しの前後に、メッセージをログに出力できます。
OLE DB 接続マネージャ、OLE DB ソース、および OLE DB 変換先
ADO.NET 接続マネージャおよび ADO NET 変換元
SQL 実行タスク
参照変換、OLE DB コマンド変換、および緩やかに変化するディメンション変換
ログ メッセージには、呼び出されるメソッドの名前が含まれています。たとえば、これらのログ メッセージには OLE DB Connection オブジェクトの Open メソッド、または Command オブジェクトの ExecuteNonQuery メソッドが含まれています。このメッセージで使用される形式を次に示します。'%1!s!' はメソッド情報のプレースホルダです。
ExternalRequest_pre: The object is ready to make the following external request: '%1!s!'. ExternalRequest_post: '%1!s!'. The external request has completed.
外部データ プロバイダとのやり取りに関するトラブルシューティングを行うには、ログを表示して、"前の" メッセージ (ExternalRequest_pre) に対応する "後の" メッセージがあるかどうかを確認します (ExternalRequest_post)。対応する "後の" メッセージがない場合は、外部データ プロバイダが予測どおりに応答しなかったことになります。
次の例では、これらのログ メッセージを含んでいるログの一部を示しています。
ExternalRequest_pre: The object is ready to make the following external request: 'ITransactionJoin::JoinTransaction'. ExternalRequest_post: 'ITransactionJoin::JoinTransaction succeeded'. The external request has completed. ExternalRequest_pre: The object is ready to make the following external request: 'IDbConnection.Open'. ExternalRequest_post: 'IDbConnection.Open succeeded'. The external request has completed. ExternalRequest_pre: The object is ready to make the following external request: 'IDbConnection.CreateCommand'. ExternalRequest_post: 'IDbConnection.CreateCommand finished'. The external request has completed." ExternalRequest_pre: The object is ready to make the following external request: 'IDbCommand.ExecuteReader'. ExternalRequest_post: 'IDbCommand.ExecuteReader finished'. The external request has completed." ExternalRequest_pre: The object is ready to make the following external request: 'IDataReader.GetSchemaTable'. ExternalRequest_post: 'IDataReader.GetSchemaTable finished'. The external request has completed." ExternalRequest_pre: The object is ready to make the following external request: 'IDataReader.Close'. ExternalRequest_post: 'IDataReader.Close finished'. The external request has completed." ExternalRequest_pre: The object is ready to make the following external request: 'IDbConnection.Close'. ExternalRequest_post: 'IDbConnection.Close finished'. The external request has completed."
|