Applies ToSQL Server Compact 4.0

Symptomen

Stel dat u in het maximale aantal seconden de Flush interval hebt opgegeven voordat de toegewezen transacties naar schijf worden afgeboekt in Microsoft SQL Server Compact 4,0. In deze situatie kan de vastgelegde transacties veel langere tijd in beslag nemen dan het Flush interval dat naar de schijf is geleegd of mogelijk niet af te ronden. Daarnaast zijn er gegevensverlies plaats wanneer er sprake is van een abnormaal einde van het programma.

Oplossing

De hotfix voor het oplossen van dit probleem is opgenomen in een hotfix-updatepakket voor SQL Server Compact 4,0 Service Pack 1. Als u meer informatie wilt over het verkrijgen van dit on-demand hotfix-pakket voor SQL Server Compact 4,0, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

2960153 Hotfix-updatepakket op aanvraag voor SQL Server Compact 4,0 Service Pack 1

Workaround

Om dit probleem tijdelijk op te lossen, gebruikt u CommitMode. direct om de wijzigingen direct op te ruimen, in plaats van te vertrouwen op het Flush interval. In het volgende voorbeeld ziet u deze methode: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 heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.