Belirtiler
Microsoft SQL Server Compact 4,0 ' de kabul edilen işlemler diske boşaltılmadan önce bağlantı dizesindeki saniye sayısı üst sınırı Bu durumda, kaydedilmiş işlemler Temizleme aralığından diske boşaltılmayacak kadar uzun sürebilir veya diske boşaltılmayabilir. Ayrıca, olağandışı bir program sonlandırması varsa veri kaybı oluşur.
Çözüm
Bu sorunu gideren düzeltme, SQL Server Compact 4,0 Service Pack 1 için isteğe bağlı bir düzeltme güncelleştirme paketine dahildir. SQL Server Compact 4,0 için isteğe bağlı bu düzeltme güncelleştirme paketini edinme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası 'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2960153 SQL Server Compact 4,0 Service Pack 1 için isteğe bağlı düzeltme güncelleştirme paketi
Geçici Çözüm
Bu soruna geçici bir çözüm için, Temizleme aralığınagüvenmek yerine değişiklikleri hemen temizlemek Için CommitMode. Immediate kullanın. Aşağıdaki örnek kod bu tekniği göstermektedir:conn.ConnectionString = "Data Source = c:\temp\SalesData.sdf; " conn.Open() Dim tx As SqlCeTransaction tx = conn.BeginTransaction(System.Data.IsolationLevel.ReadCommitted) com = conn.CreateCommand() com.Transaction = tx Dim a As Integer a = 101 While (a <= 1000) com.CommandText = "insert into Orders values (" + Convert.ToString(a) + ", 'best', 200)" com.ExecuteNonQuery() a = a + 1 End While tx.Commit(CommitMode.Immediate)
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.