Simptomi
Pretpostavimo da ste u nizu veza naveli interval pražnjenja u maksimalnom broju sekundi prije izvršenja transakcija na disku u programu Microsoft SQL Server Compact 4,0. U ovom slučaju, izvršene transakcije mogu potrajati mnogo dulje vrijeme od intervala pražnjenja da bi se ispirali na disk ili se možda neće ni pretvoriti u disk. Osim toga, gubitak podataka nastaje ako postoji nenormalan prekid programa.
Rješenje
Hitni popravak koji rješava taj problem sadržan je u paketu ažuriranja popravaka na zahtjev za SQL Server Compact 4,0 Service Pack 1. Dodatne informacije o dobivanju ovog paketa za ažuriranje hitnog popravka na zahtjev za SQL Server Compact 4,0 potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:
2960153 Paket ažuriranja popravaka na zahtjev za SQL Server Compact 4,0 servisni paket 1
Zaobilazno rješenje
Da biste zaobišli taj problem, upotrijebite odbor za povjerenstvo. neposredno da biste odmah riješili promjene, a ne Oslonite se na interval za ispiranje. Sljedeći ogledni kod pokazuje ovu tehniku: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 je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".