Si applica a
SQL Server Compact 4.0

Sintomi

Si supponga di aver specificato l' intervallo di svuotamento nel numero massimo di secondi nella stringa di connessione prima che le transazioni commesse vengano svuotate su disco in Microsoft SQL Server Compact 4,0. In questo caso, le transazioni impegnate potrebbero richiedere molto più tempo rispetto all' intervallo di svuotamento da svuotare su disco o potrebbero anche non essere scaricate sul disco. Inoltre, la perdita dei dati si verifica se è presente una terminazione anormale del programma.

Risoluzione

L'hotfix che risolve questo problema è incluso in un pacchetto di aggiornamento hotfix su richiesta per SQL Server Compact 4,0 Service Pack 1. Per altre informazioni su come ottenere questo pacchetto di aggiornamento hotfix su richiesta per SQL Server Compact 4,0, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:

2960153 Pacchetto di aggiornamento hotfix su richiesta per SQL Server Compact 4,0 Service Pack 1

Soluzione alternativa

Per risolvere il problema, usare CommitMode. immediate per svuotare immediatamente le modifiche invece di fare affidamento sull' intervallo di svuotamento. Il codice di esempio seguente illustra questa tecnica: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)

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.