Simptomi
Pretpostavimo da ste naveli interval knjiženja utroška u maksimalnom broju sekundi u niski veze pre nego što se izvršene transakcije porumene na disk u microsoft SQL Server Compact 4.0. U ovoj situaciji, izvršene transakcije mogu potrajati mnogo duže od intervala knjiženja utroška na disk ili možda neće biti ni ispuštene na disk. Pored toga, do gubitka podataka dolazi ako dođe do prekida abnormalnog programa.
Rešenje
Hitna ispravka koja rešava ovaj problem uključena je u paket ispravki hitne ispravke na zahtev za SQL Server Compact 4.0 servisni paket 1. Za više informacija o nabavljanju ovog paketa ispravki za hitne ispravke na zahtev za SQL Server Compact 4.0 kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2960153 Paket ispravki hitnih ispravki na zahtev za SQL Server Compact 4.0 servisni paket 1
Rešenje
Da biste zaobiљli ovaj problem, koristite CommitMode.Momentalno da biste odmah ispraznili promene umesto da se oslanjate na interval poruиenja. Sledeći probni kôd prikazuje 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 je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".