Príznaky
Predpokladajme, že ste v reťazci pripojenia určili interval vyprázdnenia v maximálnom počte sekúnd pred vyprázdnením potvrdených transakcií na disk v Microsoft SQL Server Compact 4.0. V tomto prípade môže vyprázdnenie potvrdených transakcií na disk trvať oveľa dlhšie, než je interval vyprázdnenia, alebo sa vyprázdnenie na disk nemusí uskutočniť. Okrem toho dochádza k strate údajov v prípade neobvyklého ukončenia programu.
Riešenie
Rýchla oprava, ktorá rieši tento problém, je súčasťou balíka aktualizácie rýchlych opráv na požiadanie pre balík Service Pack 1 pre SQL Server Compact 4.0.
Ďalšie informácie o tom, ako získať tento balík s aktualizáciou rýchlych opráv na požiadanie pre SQL Server Compact 4.0, získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
2960153 Balík s aktualizáciou rýchlych opráv na požiadanie pre balík SQL Server Compact 4.0 Service Pack 1
Alternatívne riešenie
Ak chcete tento problém obísť, použite funkciu CommitMode.Immediate na okamžité vyprázdnenie zmien namiesto spoliehania sa na interval vyprázdnenia. Nasledujúci vzorový kód demonštruje túto metódu:conn. ConnectionString = "Zdroj údajov = c:\temp\Predaj.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 = "vložiť do tabuľky Objednávky hodnoty (" + Convert.ToString(a) + "najlepšie", "najlepšie", 200)"
com. ExecuteNonQuery()
a = a + 1
End While
tx. Commit(CommitMode.Immediate)
Stav
Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.