Düzeltme: BizTalk Server 2004 arşivlerinizi de iletileri MessageBox veritabanı veya iz iletileri ile ilgili bilgileri'nı erişemiyor

Makale çevirileri Makale çevirileri
Makale numarası: 838454 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Microsoft BizTalk MessageBox veritabanı veya arşivlerinizi izlenen iletileri erişmek istediğiniz bulabilirsiniz. Listesinde, iletilerin ve bağlamsal almak ve iletileri tek tek ilgili yük verileri Numaralandırılacak özelliği, Microsoft BizTalk Server 2004'te sağlanmadı.

Bu düzeltme, yeni MessageArchive nesnesi ekler. MessageArchive nesne üzerinde izlenen bir ileti gövdelerini olan MessageBox veritabanında veya bir <a0>özel arşivi</a0> veritabanındaki bir numaralandırma alma olanağı sunar.

Not Bu düzeltme, Microsoft BizTalk Server 2004 Service Pack 1'de bulunmaktadır.

Çözüm

Hizmet paketi bilgileri

Bu sorunu gidermek için <a0></a0>, Microsoft BizTalk Server 2004 için en son hizmet paketini edinin. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
888751En son BizTalk Server 2004 hizmet paketi nasıl elde edilir

Düzeltme bilgileri

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak bu düzeltmenin, yalnızca bu makalede anlatılan sorunu gidermesi amaçlanmıştır. Bu düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın. Bu düzeltme ek sınamaya tabi olabilir. Bu nedenle, bu sorun nedeniyle önemli ölçüde etkilenmediyseniz, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemeniz önerilir.

Düzeltme karşıdan yüklenebilir ise bu Bilgi Bankası makalesinin başında "Düzeltme karşıdan yüklenebilir" bölümü bulunur. Bu bölüm görünmüyorsa, düzeltmeyi edinmek üzere Microsoft Müşteri Hizmetleri ve Destek ekibine başvurun.

Not Ek sorunlar oluşursa veya tüm sorun giderme işlemi gerekmiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Ek destek sorularına ve bu düzeltme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Microsoft Müşteri Hizmetleri ve Destek telefon numaralarının tam listesi veya ayrı bir hizmet isteği oluşturmak için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not "Düzeltme karşıdan yüklenebilir" formunda, düzeltmenin kullanılabilir olduğu diller görüntülenir. Kendi dilinizi görmüyorsanız, bunun nedeni bu düzeltme, seçtiğiniz dil için kullanılamaz.

ÖNKOŞULLAR

Herhangi bir önkoşul bulunmamaktadır

Yeniden başlatma gereksinimi

Bu düzeltmeyi yükledikten sonra bilgisayarınızı yeniden başlatmanız gerekmez

Düzeltme Değiştirme Bilgileri

Bu düzeltme başka bir düzeltmenin yerini almaz

DOSYA BİLGİLERİ

Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki Tarih ve saat öğesinde saat dilimi sekmesini kullanın.
   Date        Time    Version     Size       File name
   --------------------------------------------------------------------------------------
   08-Jul-2004  22:15  3.0.5320.0    144,896  Btshttpreceive.dll
   08-Jul-2004  22:15  3.0.5320.0  1,026,048  Btsmsgcore.dll
   08-Jul-2004  22:53  3.0.5320.0     32,768  Microsoft.biztalk.cachingservice.dll
   08-Jul-2004  22:50  3.0.5320.0    221,184  Microsoft.biztalk.flatfileextension.dll
   08-Jul-2004  22:48  3.0.5320.0    729,088  Microsoft.biztalk.globalpropertyschemas.dll
   08-Jul-2004  22:48  3.0.5320.0     69,632  Microsoft.biztalk.httptransport.dll
   08-Jul-2004  22:42  3.0.5320.0     77,824  Microsoft.biztalk.messageboxom.dll
   08-Jul-2004  22:50  3.0.5320.0     49,152  Microsoft.biztalk.messaging.dll
   08-Jul-2004  22:53  3.0.5320.0    217,088  Microsoft.biztalk.pipeline.dll
   08-Jul-2004  21:46                145,598  Msgboxlogic.sql
   08-Jul-2004  21:46                 12,158  Msgbox_tracking_schema.sql

Not Dosya bağımlılıkları nedeniyle, bu dosyaları içeren en son düzeltme, ek dosyalar da içerebilir.

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır.Bu sorun, BizTalk Server 2004 Service Pack 1'de giderilmiştir.

Daha fazla bilgi

Iletinin Gövde verileri arşivlemek için

Ileti gövdesi verilerde Tracking_Spool1 ve Tracking_Spool2 MessageBox veritabanı tablolarında arşivleyecek şekilde Microsoft.BizTalk.MessageBoxOM.dll dosya başvuruda bulunabilir. Bunu yapmak için şu adımları izleyin:
  1. Microsoft.BizTalk.MessageBoxOM.dll dosya başvurusu. Microsoft.BizTalk.MessageBoxOM.dll dosyasını Genel Derleme Önbelleği (GAC) bulunur. Visual Studio .NET 2003 projelerdeki GAC bulunan bir bileşen için bir başvuru eklenemiyor. Visual Studio .NET 2003 projesinde Microsoft.BizTalk.MessageBoxOM.dll dosya başvurmak için <a0></a0>, aşağıdaki yöntemlerden birini kullanın:
    • Yöntem 1: GAC'YE Microsoft.BizTalk.MessageBoxOM.dll Dosya Ayıkla

      GAC Microsoft.BizTalk.MessageBoxOM.dll dosya ayıklamak için <a0></a0>, komut isteminde aşağıdaki komutu çalıştırın. Bu komutta, sabit diskteki bir dosya konumu DestinationPath temsil eder. Örneğin, Visual Studio .NET 2003 proje dosyaları içeren klasörü Microsoft.BizTalk.MessageBoxOM.dll dosyayı ayıklamak için aşağıdaki komutu kullanın:
      kopya %systemroot%\assembly\GAC\Microsoft.BizTalk.MessageBoxOM\3.0.1.0__31bf3856ad364e35\Microsoft.BizTalk.MessageBoxOM.dll DestinationPath
    • Yöntem 2: Visual Studio .NET 2003 proje dosyasını el ile düzenlemek

      Bir başvuru GAC'YE bulunan bir bileşen eklemek için <a0></a0>, Visual Studio .NET 2003 proje dosyasını bir metin düzenleyicisinde el ile düzenleyin. Örneğin, .csproj ve .btproj proje dosyalarını dosyalardır. Proje dosyasında aşağıdaki kod örneği için başvuru öğesi ekleyin.
      Name = "Microsoft.BizTalk.MessageBoxOM"
      AssemblyName = "Microsoft.BizTalk.MessageBoxOM"
      HintPath = "<SystemRoot>\assembly\GAC\Microsoft.BizTalk.MessageBoxOM\3.0.1.0__31bf3856ad364e35\Microsoft.BizTalk.MessageBoxOM.dll"
  2. Bir konsol uygulaması Visual Studio .NET 2003'te oluşturun. Ardından, aşağıdaki bileşenleri başvurular konsol uygulamasında ekleyin:
    • Microsoft.BizTalk.messageboxom.dll

      Not Adım 1'de sabit diskteki bir konuma Dosya ayıklama yalnızca Microsoft.biztalk.messageboxom.dll dosyasına bir başvuru ekleyin.
    • BizTalk Server 2004\Microsoft.BizTalk.Messaging.dll \Microsoft
    • BizTalk Server 2004\Microsoft.BizTalk.Pipeline.dll \Microsoft
    • System.XML
  3. Kod, iletinin Gövde verileri arşivlemek için konsol uygulaması ekleyin. Sonra uygulamayı derleyin. Örneğin, aşağıdaki Microsoft Visual C# kod örneği benzer bir kod kullanın.
    using System;
    using System.IO;
    using Microsoft.BizTalk.Message.Interop;
    using Microsoft.BizTalk.MessageBoxOM;
    using System.Collections;
    using System.Diagnostics;
    
    namespace ConsoleApplication1
    {
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    class Class1
    {
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
    MessageArchive archive = new MessageArchive();
    archive.ConnectionString = "Persist Security Info=False;Integrated Security=SSPI;database=BizTalkMsgboxDb;server=."
    
    foreach (IBaseMessage msg in archive.Messages)
    {
    int cnt = msg.PartCount;
    UInt64 lSize;
    bool fImplemented;
    msg.GetSize(out lSize, out fImplemented);
    //Trace.WriteLine("Message ID: " + msg.MessageID.ToString());
    //Trace.WriteLine("Message Size: " + lSize.ToString());
    Console.WriteLine("Message ID: " + msg.MessageID.ToString());
    Console.WriteLine("Message Size: " + lSize.ToString());
    String partName;
    IBaseMessagePart part = msg.GetPartByIndex(0, out partName);
    Stream data = part.Data;
    string contentType = part.ContentType;
    string charset = part.Charset;
    
    
    //byte[] arr = new byte[data.Length];
    //data.Read(arr, 0, (int)data.Length);
    //file.Write(arr, 0, (int)data.Length);
    
    FileStream file = new FileStream(@"<full path of where you want to store the tracked messages>\" + msg.MessageID + ".xml", FileMode.Create);
    
    byte[] arr = new byte[1024];
    int bytesRead = 0;
    while ( (bytesRead = data.Read(arr, 0, 1024) ) > 0) 
    {
    file.Write(arr, 0, bytesRead);
    if (bytesRead < 1024)
    break;
    }
    
    file.Close();
    
    }
    
    archive.Dispose(); 
    }
    }
    }
  4. Konsol uygulaması olarak çalışır. Konsol uygulaması çalıştırdığınızda, konsol uygulaması izlenen bir ileti gövdesi verileri etkin olmayan MessageBox veritabanı tablosundan alır. Etkin olmayan Tracking_Spool1 tablo ya da Tracking_Spool2 tablo tablodur. Etkin tablo, MessageArchive nesne erişemiyor.

    Varsayılan olarak etkin tablo Tracking_Spool1 tablodur. Bu nedenle, veri, çalıştırdığınız konsol uygulaması ilk kez döndürülür. Etkin tablo tablo Tracking_Spool2 yapmak için <a0></a0>, SQL Server'da TrackingSpool_Cleanup_BizTalkMsgBoxDb işini çalıştırın.

    Not Varsayılan olarak, TrackingSpool_Cleanup_BizTalkMsgBoxDb işlem etkin değil. TrackingSpool_Cleanup_BizTalkMsgBoxDb iş ileti gövdesi verileri siler.

    TrackingSpool_Cleanup_BizTalkMsgBoxDb iş çalıştırdıktan Tracking_Spool1 tablosundaki ileti gövdesi verileri arşivlemek için konsol uygulaması çalıştırın.

    Not Etkin iletinin gövdesi veri TrackingSpool_Cleanup_BizTalkMsgBoxDb iş temizler çünkü TrackingSpool_Cleanup_BizTalkMsgBoxDb işi yeniden çalıştırmadan önce konsol uygulaması çalıştırmalısınız.

    Örneğin, MessageBox veritabanındaki iletinin Gövde verileri arşivlemek için şu adımları izleyin:
    1. Ileti gövdesi verileri arşivlemek için bir zamanlama oluşturur. Örneğin, bir kez her iki haftada bir TrackingSpool_Cleanup_BizTalkMsgBoxDb işlemini çalıştırırsanız, iki haftalık verileri iletinin Gövde veri izleme için gerekir.
    2. TrackingSpool_Cleanup_BizTalkMsgBoxDb işlemini çalıştırın. Bu işlem, çalıştırdığınız ilk kez Tracking_Spool2 tablo etkin bir tablo olarak işaretlendi. Tracking_Spool2 tablosu boştur. Bu nedenle, veri kaybolur.
    3. Tracking_Spool1 tablosunda depolanan ileti gövdesi verileri arşivlemek için konsol uygulaması olarak çalışır.
    4. Ileti gövdesi verileri yeniden arşivlemek istediğiniz TrackingSpool_Cleanup_BizTalkMsgBoxDb işini çalıştırın. Bu işlem, Tracking_Spool1 tablo etkin olarak işaretler ve Tracking_Spool1 tabloda verileri temizler.
    5. Tracking_Spool2 tablosunda depolanan ileti gövdesi verileri arşivlemek için konsol uygulaması olarak çalışır.
    6. Adım 4a kurmak zamanlamaya göre 4a 4e adımları yineleyin.
    TrackingSpool_Cleanup_BizTalkMsgBoxDb iş hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    907661Tracking_Spool1 veya Tracking_Spool2 BiztalkMsgBoxDb veritabanı tablolarında BizTalk Server 2004'te büyük olur.

MessageArchive nesnesi arabirimleri

MessageArchive nesnesi aşağıdaki arabirimleri uygulayan:
    public int CommandTimeout
    • Açıklaması: Bu arabirimle kullanıcı alın ve temel SQL bağlantılarla ilişkili zaman aşımı süresini ayarlayın.
    • Sınır koşullar: Zaman aşımını sıfıra eşit veya daha fazla olmalıdır. En fazla zaman aşımı, bir saat olacaktır. 0 sonsuz bir zaman aşımı gösterir.
    • Hata durumlarda: Geçersiz değerler ArgumentOutOfRangeException özel durum oluşturur.

    public string ConnectionString
    • Açıklaması: Bu arabirimle kullanıcı alın ve alttaki arşivi veritabanı için bağlantı dizesini ayarlayın.
    • Sınır koşullar: Dize null olmamalı ve boş bir dize olması gerekir. Bağlantı özelliği, bağlantıyı bir kez başarıyla ayarladıktan sonra sıfırlayamazsınız.
    • Hata durumlarda: Dize null veya sıfır (0) uzunlukta bir dize ArgumentException oluşturan ifade bir özel duruma neden olur. Zaten ayarlandıktan sonra özellik ayarı bir ınvalidoperationexception özel duruma neden olur. Geçerli bir bağlantı dizesi değil, SQL bağlantısı olan bir özel durum oluşturur.

    public int BatchSize
    • Açıklaması: Bu arabirimle kullanıcı almak ve toplu işlemleri veritabanından alınacak veri boyutunu ayarlayın. Bu eylem, BizTalk Server herhangi bir anda çok fazla bellek kullanmasını engeller. Varsayılan değer 50'dir.
    • Sınır koşullar: BatchSize sıfıra eşit veya daha fazla olması gerekir. BatchSize MessageArchive nesne, en fazla eşleşme sayısı kadar tüm verileri almak 0 anlamına gelir. Algılama, bellekte birden fazla yükleme yapmak için en fazla BatchSize 1000'dir.
    • Hata durumlarda: Kabul edilebilir aralığın dışında olan BatchSizes ArgumentOutOfRangeException özel durum oluşturur.

    public int MaxMatches
    • Açıklaması: Bu arabirimle kullanıcı alın ve numaralandırma için alınan iletiler maksimum sayısını ayarlayın. Bu arabirimin arabirimini MaxMatches numaralandırma MoveNext yöntemini önce iletilerin sayısı ise, false döndürür BatchSize farklılık gösterir.
    • Sınır koşullar: MaxMatches sıfıra eşit veya daha fazla olması gerekir. 0 Değeri, tüm iletiler anlamına gelir almak.
    • Hata durumlarda: MaxMatches değeri 0'dan küçükse, ArgumentOutOfRangeException özel durum oluşturulur.

    public DateTime From
    • Açıklaması: Bu arabirimle kullanıcı kümesini almak belirli bir tarih ve saat aralığı göre istedikleri, iletileri süzebilirsiniz. Bu özelliğin ayarlanması MessageArchive nesne adresindeki veya belirtilen tarih ve saat sonra yayımlanmış olan iletileri yalnızca almak gösterir.
    • Sınır koşullar: UNTIL zaman zaten belirtilmiş olması durumunda, başlangıç saati eşittir veya önce UNTIL zaman olması gerekir.
    • Hata durumlarda: Başlangıç saati UNTIL saatinden daha sonra özel durum ArgumentException oluşturan ifade oluşturulur.

    public DateTime Until
    • Açıklaması: Bu arabirimle kullanıcı kümesini almak belirli bir tarih ve saat aralığı göre istedikleri, iletileri süzebilirsiniz. Bu özelliğin ayarlanması MessageArchive nesne yalnızca saat ya da belirtilen saatten önce yayımlanmış olan iletileri almak gösterir.
    • Sınır koşullar: Başlangıç saati zaten belirtilmiş olması durumunda UNTIL zaman eşittir veya sonra başlangıç saati olmalıdır.
    • Hata durumlarda: UNTIL zaman önce başlangıç saati, özel durum ArgumentException oluşturan ifade oluşturulur.

    public IEnumerable Messages
    • Açıklaması: Bu arabirimle kullanıcı arabirim üzerine tüm iletileri numaralandırabilir alabilirsiniz. Count özelliği yok olarak sağlanan bir numaralandırma kullanılır.
    • Sınır koşullar: Bu arabirimin hiçbir parametre olarak al?r.
    • Hata durumlarda: Bağlantı henüz ayarlanmamış bir ınvalidoperationexception özel durum oluşturulur. Tüm hatalar SQL bağlantı sorunları nedeniyle oluşur.
    • Iletileri numaralandırma, nesne türü ArchivedMessage döndürür. Bu nesneler IBaseMessage arabirimler çevirebilirsiniz. IBaseMessage hakkında daha fazla bilgi için Microsoft BizTalk Server 2004 için çevrimiçi belgelere bakın.

Aşağıdaki işlevler veya yöntemler MessageArchive nesne tarafından desteklenmez ve ınvalidoperationexception özel durumlar oluşturacak:
  • public void AddPart(string partName, IBaseMessagePart part, [MarshalAs(UnmanagedType.Bool)] bool bBody)
  • public IBaseMessagePart GetPart(string partName)
  • public void RemovePart(string partName)
  • public Exception GetErrorInfo()
  • public void SetErrorInfo(Exception errInfo)
Ayrıca, bu düzeltmenin dahil, BizTalk Server çözümleri kullanabileceğiniz bazı yeni özellikler şunlardır:
  • AdapterReceiveCompleteTime özelliği, bir ileti bağdaştırıcıdan alınır ve ileti işleme, potansiyel satış önce alma başlatır doldurulur.
  • Iletiyi gönderen, bağdaştırıcının başlamadan önce AdapterTransmitBeginTime özelliği doldurulur.
  • Sonra bağdaştırıcı, iletinin başarıyla ileten AdapterTransmitCompleteTime özelliği doldurulur. Bu özellik, BizTalk Message Queuing Bağdaştırıcısı (MSMQT için) desteklenmiyor.
Bu özellikler aşağıdaki ad alanına ait: tüm üç özelliklere sahip
http://schemas.microsoft.com/BizTalk/2003/messagetracking-properties
VT_DATE (veya DateTime) yazın.

Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Özellikler

Makale numarası: 838454 - Last Review: 29 Aralık 2006 Cuma - Gözden geçirme: 4.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft BizTalk Server 2004 Standard Edition
  • Microsoft BizTalk Server 2004 Partner Edition
  • Microsoft BizTalk Server 2004 Enterprise Edition
  • Microsoft BizTalk Server 2004 Developer Edition
Anahtar Kelimeler: 
kbmt kbautohotfix kbbiztalk2004-2006swept kbbiztalk2004sp1fix kbbiztalk2004presp1fix kbbug kbfix kbhotfixserver kbqfe KB838454 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:838454

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com