Domanda

Sto eseguendo una procedura memorizzata di processo lungo.

Mi chiedo se in caso di timeout o in qualsiasi caso di disconnessione dal database dopo aver avviato la chiamata alla procedura memorizzata.Funziona ancora e sta implementando le modifiche sul server?­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

È stato utile?

Soluzione

Ad ogni modo, se il client non è presente per effettuare il commit alla fine del lavoro, le modifiche dovrebbero essere annullate dal server.

In altre parole, se si dispone di una procedura memorizzata che apporta modifiche al database ed esiste la possibilità che la connessione si disconnette nel mezzo, assicurarsi di racchiudere tutte le modifiche all'interno di una transazione.

Altri suggerimenti

Dipende dal server, immagino.
So che Firebird rileverà i client disconnessi e smetterà di funzionare.
Ad ogni modo, se il client non è presente per effettuare il commit alla fine del lavoro, le modifiche dovrebbero essere annullate dal server.

Suggerirei di eseguire il profiler sul database e osservare l'attività, nonché di creare un caso di test di base in modo da sapere con certezza cosa succede.Il risultato dipende dal database e da cosa stai utilizzando per connetterti ad esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top