Gejala
Misalnya Anda telah menentukan interval Kosongkan dalam jumlah detik maksimum dalam string koneksi sebelum transaksi berkomitmen dihapus ke disk di Microsoft SQL Server Compact 4,0. Dalam situasi ini, transaksi berkomitmen mungkin memakan waktu lebih lama daripada interval Kosongkan yang akan dihapus ke disk atau mungkin tidak akan dihapus ke disk. Selain itu, kehilangan data terjadi jika terdapat penghentian program abnormal.
Pemecahan Masalah
Perbaikan terbaru yang dapat memecahkan masalah ini disertakan dalam paket pembaruan pada permintaan hotfix untuk SQL Server Compact 4,0 Service Pack 1. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan sesuai permintaan ini untuk SQL Server Compact 4,0, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:
2960153 Paket pembaruan pada permintaan hotfix untuk SQL Server Compact 4,0 Paket Layanan 1
Penyelesaian Masalah
Untuk mengatasi masalah ini, gunakan Commitmode. segera untuk membersihkan perubahan segera, bukan bergantung pada interval Kosongkan. Kode contoh berikut menunjukkan teknik ini: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)
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".