Simptomai
Tarkime, kad nustatėte, kad nuplovimo intervalas būtų ne ilgesnis nei jungimosi eilutės, prieš tai, kai įvykdytos operacijos, nuplovimo į diską naudojant "Microsoft SQL Server Compact 4,0". Esant tokiai situacijai, įsipareigotos operacijos gali užtrukti daug ilgiau nei nuplovimo intervalas , kurį norite išvalyti į diską, arba gali būti net išvalyti į diską. Be to, duomenų praradimas atsiranda dėl neįprastos programos nutraukimo.
Sprendimas
Karštosios pataisos, kurios išsprendžia šią problemą, yra įtrauktos į pareikalavus karštųjų pataisų naujinimo paketą, skirtą "SQL Server Compact 4,0" 1 pakeitimų paketui. Jei norite gauti daugiau informacijos apie tai, kaip gauti šią pareikalavus karštųjų pataisų naujinimo paketą, skirtą "SQL Server Compact 4,0", spustelėkite toliau pateiktą straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:
2960153 Pareikalavus karštųjų pataisų naujinimo paketas, skirtas "SQL Server Compact 4,0" 1 pakeitimų paketui
Sprendimas
Norėdami išspręsti šią problemą, naudokite " Komitmode". iškart, jei norite, kad pokyčiai būtų perkelti iškart, užuot naudoję intervalų intervalą. Šis pavyzdinis kodas rodo šį būdą: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" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.