Aracılığıyla paylaş


Günlüğü ve günlük girişleri bir veri tanımlama bileşen akış

Özel veri akışı bileşenleri kullanarak varolan bir günlük girişi için iletileri gönderebilirsiniz PostLogMessage yöntem, IDTSComponentMetaData100 arabirim.Bunlar da bilgileri kullanıcıya kullanarak sunabilirsiniz FireInformation yöntem veya benzer yöntemleri IDTSComponentMetaData100 arabirim.Ancak, bu yaklaşım yükseltme ve diğer olayları işleme yükü çeker ve bunlara ilgilendirebilecek iletiler için ayrıntılı bilgi iletileri yoluyla SIFT kullanıcının zorlar.Özel günlüğü girişi aşağıda açıklandığı gibi bileşeninizi kullanıcılara sonuçlanmaz etiketli özel günlük bilgi sağlamak için kullanabilirsiniz.

Kaydetme ve özel günlüğü girişi kullanma

Özel Kütüğü Girişi kaydetme

Yaptığınız bileşen tarafından kullanılmak üzere özel bir günlük girişi kaydetmek için geçersiz kılın RegisterLogEntries yöntem, PipelineComponent temel sınıfaAşağıdaki örnek, bir özel günlük girdisi kaydeder ve bir ad ve açıklama sağlar.

using Microsoft.SqlServer.Dts.Runtime;
...
private const string MyLogEntryName = "My Custom Component Log Entry";
private const string MyLogEntryDescription = "Log entry from My Custom Component ";
...
    public override void RegisterLogEntries()
    {
      this.LogEntryInfos.Add(MyLogEntryName,
        MyLogEntryDescription,
        Microsoft.SqlServer.Dts.Runtime.Wrapper.DTSLogEntryFrequency.DTSLEF_CONSISTENT);
    }
Imports Microsoft.SqlServer.Dts.Runtime
...
Private Const MyLogEntryName As String = "My Custom Component Log Entry" 
Private Const MyLogEntryDescription As String = "Log entry from My Custom Component "
...
Public  Overrides Sub RegisterLogEntries() 
  Me.LogEntryInfos.Add(MyLogEntryName, _
    MyLogEntryDescription, _
    Microsoft.SqlServer.Dts.Runtime.Wrapper.DTSLogEntryFrequency.DTSLEF_CONSISTENT) 
End Sub

The DTSLogEntryFrequency enumeration provides a hint to the runtime about how frequently the event will be logged:

  • DTSLEF_OCCASIONAL: Olay her yürütme sırasında değil yalnızca bazen günlüğe kaydedilir.

  • DTSLEF_CONSISTENT: Olay günlüğe bir sabit sayıda her yürütme sırasında.

  • DTSLEF_PROPORTIONAL: Olay günlüğe bir kaç kez için tamamlanan çalışma miktarı doğru orantılı.

Kullandığı Yukarıdaki örnek DTSLEF_CONSISTENT çünkü bileşeni bekler oturum bir giriş başına bir kez yürütme.

Özel Kütüğü Girişi kaydetme ve eklendikten sonra bir örnek sizin özel bileşeni için veri akışı Tasarımcı yüzey, oturum Tasarımcısı iletişim kutusunda görüntüler "My özel bileşen günlük girişi" adıyla yeni bir günlük girdisi Varolan günlük girdileri listesinde.

Bir özel günlük girdisi günlüğe kaydetme

Özel günlük girdisi kaydolduktan sonra bileşen şimdi özel iletileri günlüğe kaydedebilir.Aşağıdaki örnek, bir özel günlüğü girişi sırasında Yazar PreExecute metnini içeren yöntem bir SQL deyim bileşen. tarafından kullanılan

    public override void PreExecute()
    {
      DateTime now = DateTime.Now;
      byte[] additionalData = null;
      this.ComponentMetaData.PostLogMessage(MyLogEntryName,
        this.ComponentMetaData.Name,
        "Command Sent was: " + myCommand.CommandText,
        now, now, 0, ref additionalData);
    }
Public  Overrides Sub PreExecute() 
  Dim now As DateTime = DateTime.Now 
  Dim additionalData As Byte() = Nothing 
  Me.ComponentMetaData.PostLogMessage(MyLogEntryName, _
    Me.ComponentMetaData.Name, _
    "Command Sent was: " + myCommand.CommandText, _
    now, now, 0, additionalData) 
End Sub

Şimdi ne zaman kullanıcı paket "My özel bileşen günlük girişi" seçtikten sonra yürütür de oturum iletişim kutusunda, günlük içeriği açıkça "User::My özel bileşen günlük girdisi." etiketli bir giriş Bu yeni günlük girdisi sql deyim, zaman damgası ve geliştirici tarafından günlüğe kaydedilen her türlü ek verinin metnini içerir.

Integration Services simgesi (küçük)Integration Services ile güncel kalın

En son karşıdan yüklemeler, makaleler, örnekler ve seçilen topluluk çözümleri yanı sıra Microsoft videolar için ziyaret Integration Services sayfa msdn veya TechNet:

Bu güncelleştirmelerle ilgili otomatik bildirim almak için, sayfadaki RSS akışlarına abone olun.