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

Özel veri akışı bileşenlerini kullanarak iletileri için varolan bir günlük girişi deftere nakledebilir PostLogMessage(String, String, String, DateTime, DateTime, Int32, array<Byte[]%) yöntem IDTSComponentMetaData100 arabirim. Bunlar aynı zamanda bilgileri kullanıcıya kullanarak sunabilirsiniz FireInformation(Int32, String, String, String, Int32, Boolean%) yöntem veya benzer yöntemleri IDTSComponentMetaData100 arabirim. Ancak, bu yaklaşım, yükseltme ve diğer olayları işleme yükü çeker ve kullanıcı bunlara ilgilendirebilecek iletiler için ayrıntılı bilgi iletileri sift zorlar.Özel bir günlük girişi aşağıda açıklandığı gibi bileşeniniz kullanıcılarına sonrasındaki etiketli özel günlük bilgi sağlamak için kullanabilirsiniz.

Kaydetme ve özel bir günlük girişi'ni kullanma

Özel bir günlük girişi kaydediliyor

Bileþeniniz tarafından kullanılacak özel bir günlük girişi kaydetmek için , geçersiz kılmak RegisterLogEntries() yöntem PipelineComponent taban sınıf. Aşağıdaki örnek, bir özel bir 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 olay will be logged:

  • DTSLEF_OCCASIONAL(): Olay her yürütme sırasında değil yalnızca bazı durumlarda, günlüğe kaydedilir.

  • DTSLEF_CONSISTENT(): Olay oturum sırasında her yürütme zamanlarının sabit bir sayı.

  • DTSLEF_PROPORTIONAL(): Olay günlüğe birkaç kez orantılı için tamamlanan çalışma miktarı.

Yukarıdaki örnekte kullanır. DTSLEF_CONSISTENT() çünkü, bileşenin bir kez yürütme girişi oturum umuyor.

Özel bir günlük girdisi kaydediliyor ve veri akışı Tasarımcısı yüzey için kendi özel bileşeninin bir örneğini eklemeyi Günlüğe kaydetme Tasarımcısı iletişim kutusunda, kullanılabilir günlük girdileri listesinde "My özel bileşen günlük girişi" adlı yeni bir günlük girdisi görüntüler.

Özel bir günlük girişine günlüğe kaydetme

Özel bir günlük girdisi kaydetme sonra bileşeni artık özel iletiler oturum açabilirsiniz.Aşağıdaki örnek sırasında özel bir günlük girdisi yazar PreExecute() bileşeni tarafından kullanılan SQL deyiminin metin içeren yöntem.

    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 yürüten kullanıcının paket, içinde "My özel bileşen günlük girdisi" seçtikten sonra Günlüğe kaydetme iletişim kutusu, günlük açıkça "User::My özel bileşen günlük girişi." olarak etiketlenmiş bir girdi içerir Bu yeni günlük girdisi, geliştirici tarafından günlüğe kaydedilen her türlü ek verinin SQL deyim ve zaman damgası metnini içerir.

Integration Services icon (small) Tümleştirme Hizmetleri ile güncel kalın

Karşıdan yüklemeler, makaleleri, örnekler ve en son Microsoft video yanı sıra, seçili topluluğun çözümleri için ziyaret Integration Services sayfa MSDN veya TechNet:

Bu güncelleştirmelerin otomatik bildirim için kullanılabilir RSS akışlarına abone olmak sayfa.