分享方式:


建立自訂記錄提供者

適用於:Azure Data Factory 中的 SQL Server SSIS Integration Runtime

Integration Services 執行階段環境具有廣泛的記錄功能。 用於擷取封裝執行期間所發生之事件的記錄檔。 Integration Services 包括各種記錄提供者,讓您能以多種格式 (例如 XML、文字、資料庫或 Windows 事件記錄檔) 建立並儲存記錄。 如果這些提供者或輸出格式都不符合您的需求,可以建立自訂記錄提供者。

建立自訂記錄提供者涉及的步驟類似於為 Integration Services 建立任何其他自訂物件的步驟:

  • 建立繼承自基底類別的新類別。 對於記錄提供者而言,基底類別是 LogProviderBase

  • 將可識別物件類型的屬性套用至類別。 對於記錄提供者而言,屬性是 DtsLogProviderAttribute

  • 覆寫基底類別之方法與屬性的實作。 對於記錄提供者而言,這些包括 ConfigString 屬性以及 OpenLogLogCloseLog 方法。

  • 在 SQL Server Integration Services 中並未實作自訂記錄提供者的自訂使用者介面。

開始使用自訂記錄提供者

建立專案和類別

因為所有的 Managed 記錄提供者都是從 LogProviderBase 基底類別衍生,所以在建立自訂記錄提供者時的第一個步驟是以慣用的 Managed 程式語言建立類別庫專案,然後建立繼承自基底類別的類別。 在此衍生的類別中,您將覆寫基底類別的方法與屬性,以實作自訂功能。

設定專案以使用強式名稱金鑰檔案來簽署將產生的組件。

注意

許多 Integration Services 記錄提供者都有自訂使用者介面,以實作 IDtsLogProviderUI,以及使用可用連線管理員的篩選下拉式清單,取代 [設定 SSIS 記錄] 對話方塊中的 [設定] 文字方塊。 不過,在 Integration Services 中並未實作自訂記錄提供者的自訂使用者介面。

套用 DtsLogProvider 屬性

DtsLogProviderAttribute 屬性套用至您已建立的類別,以便將它識別為記錄提供者。 此屬性會提供記錄提供者的名稱和描述等設計階段資訊。 屬性 (Attribute) 的 DisplayNameDescription 屬性 (Property) 會對應至顯示在 [設定 SSIS 記錄] 編輯器中的 [名稱] 和 [描述] 資料行,此編輯器會在為 SQL Server Data Tools (SSDT) 中的套件設定記錄時顯示。

重要

未使用屬性 (Attribute) 的 LogProviderType 屬性 (Property)。 不過,您必須為它輸入值,否則自訂記錄提供者將不會顯示在可用記錄提供者的清單中。

注意

既然在 Integration Services 中未實作自訂記錄提供者的自訂使用者介面,為 DtsLogProviderAttributeUITypeName 屬性指定一值就沒有作用。

<DtsLogProvider(DisplayName:="MyLogProvider", Description:="A simple log provider.", LogProviderType:="Custom")> _  
Public Class MyLogProvider  
     Inherits LogProviderBase  
    ' TODO: Override the base class methods.  
End Class  
[DtsLogProvider(DisplayName="MyLogProvider", Description="A simple log provider.", LogProviderType="Custom")]  
public class MyLogProvider : LogProviderBase  
{  
    // TODO: Override the base class methods.  
}  

建立、部署和偵錯自訂記錄提供者

在 Integration Services 中建置、部署和偵錯自訂記錄提供者的步驟,非常類似於其他類型自訂物件所需的步驟。 如需詳細資訊,請參閱建立、部署和偵錯自訂物件

另請參閱

撰寫自訂記錄提供者的程式碼
開發自訂記錄提供者的使用者介面