Share via


建立自訂記錄提供者

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) 的 DisplayName 與 Description 屬性 (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 中建立、部署和偵錯自訂記錄提供者的步驟,非常類似於其他類型的自訂物件所需的步驟。 如需詳細資訊,請參閱<建立、部署和偵錯自訂物件>。

Integration Services 圖示 (小) 掌握 Integration Services 的最新狀態

如需取得 Microsoft 的最新下載、文件、範例、影片及社群的精選解決方案,請瀏覽 MSDN 上的 Integration Services 頁面:


若要得到這些更新的自動通知,請訂閱該頁面上所提供的 RSS 摘要。

請參閱

工作

撰寫自訂記錄提供者的程式碼

概念

開發自訂記錄提供者的使用者介面