疑難排解封裝連接
Integration Services 包含的功能和工具可讓您用來針對封裝與封裝擷取和載入資料的資料來源之間的連接進行疑難排解。
疑難排解外部資料提供者的問題
與外部資料提供者互動期間發生許多封裝失敗。但是,這些提供者傳回 Integration Services 的訊息經常未提供足夠的資訊,導致無法開始進行互動的疑難排解。為了解決這個疑難排解需要,Integration Services 包括新的記錄訊息,可供您用來疑難排解封裝與外部資料來源之間的互動。
啟用記錄並選取封裝的 [診斷] 事件以查看新的疑難排解訊息。下列 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."
|