Gjelder for
SQL Server Compact 4.0

Symptomer

Anta at du har angitt flush-intervall i maksimalt antall sekunder i tilkoblingsstrengen før utførte transaksjoner tømmes til disken i Microsoft SQL Server Compact 4.0. I dette tilfellet utførte transaksjoner kan ta mye lengre tid enn du tømme intervallet til tømmes til disken, eller kanskje enda ikke tømmes til disken. I tillegg oppstår datatap hvis det er en unormal avslutning.

Oppløsning

Hurtigreparasjon som løser dette problemet er inkludert i en behovsbetinget oppdateringen Hurtigreparasjonspakke for SQL Server Compact 4.0 Service Pack 1.Hvis du vil ha mer informasjon om hvordan du får tak i denne oppdateringspakken behovsbetinget hurtigreparasjonen for SQL Server Compact 4.0, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

2960153 on demand oppdateringen Hurtigreparasjonspakke for SQL Server Compact 4.0 Service Pack 1

Løsningen

Hvis du vil omgå dette problemet, kan du bruke CommitMode.Immediate til å tømme endringene umiddelbart i stedet for å stole på flush intervall. Denne teknikken er demonstrert i følgende eksempelkode: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 har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.