KB2979868-Labojums: ir nepieciešams vairāk laika nekā flush intervāls, lai sapludinātu transakcijas SQL Server Compact 4,0

Simptomi

Pieņemiet, ka ir norādīts intervāla intervāls , kas maksimālais sekunžu skaits savienojuma virknē, pirms veiktās transakcijas ir sapludinātas ar disku programmā Microsoft SQL Server Compact 4,0. Šādā gadījumā apņemšanās darījumiem var būt nepieciešams ilgāks laiks nekā skalošanas intervāls , kas jāskalo uz diska vai pat nav jāskalo diskā. Turklāt datu zudums rodas, ja ir anormāla programmas izbeigšana.

Risinājums

Labojumfails, kas novērš šo problēmu, ir iekļauts labojumfailu atjauninājumu pakotnē SQL Server Compact 4,0 1. servisa pakotnei. Lai iegūtu papildinformāciju par to, kā iegūt šo pieprasījumu labojumfailu atjaunināšanas pakotni SQL Server Compact 4,0, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2960153 Pēc pieprasījuma labojumfaila atjaunināšanas pakotne SQL Server Compact 4,0 1. servisa pakotnei

Risinājums

Lai novērstu šo problēmu, izmantojiet CommitMode. Immediate , lai nekavējoties sapludinātu izmaiņas, nevis paļaujoties uz flush intervālu. Tālāk redzamajā piemērā tiek parādīts šāds paņēmiens: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)

Statusa

Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

×