2010-07-21 15 views
16

Come posso impostare il livello di isolamento di tutte le mie chiamate SqlCommand ExecuteNonQuery da leggere senza impegno? (connessione a un'istanza aziendale di SQL Server 2008)Posso impostare il livello di isolamento nella stringa di connessione?

Sto semplicemente trasformando i dati statici e inserendo i risultati nelle mie tabelle su base regolare, e vorrei evitare di scrivere più codice del necessario.

+2

http://msdn.microsoft.com/en-us/library/8aht5dh7.aspx –

risposta

14

No, non è possibile.

È necessario definire in modo esplicito il livello di isolamento quando si avvia una transazione.

Per ulteriori informazioni sulla regolazione del livello di isolamento, vedere MSDN documentation on the topic.

+1

Da quello che ho letto non c'è modo di modificare il livello di isolamento della transazione predefinito http://blogs.msdn.com/b/ialonso /archive/2012/11/26/how-to-set-the-default-transaction-isolation-level-server-wide.aspx –

+0

"No, non è possibile" è la risposta corretta, ma l'ho downvoted a causa di "You può definire un livello di isolamento della transazione predefinito su un livello per database ", che non è vero. – Robertas

1
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 
BEGIN TRAN 
/* do stuff */ 
COMMIT 
+0

Questo non è quello che ho chiesto - Capisco come farlo in SQL, ma ho molte istruzioni pre-inscatolate che necessitano per eseguire da un'app C#, quindi vorrei impostare il livello di isolamento nel codice –

0

Nota che ADODB permetteva di impostare il livello di isolamento predefinito per la connessione, mentre ADO.NET utilizzerà il livello di isolamento dell'ultima transazione impegnato come il livello di isolamento predefinito (vedere la nota in https://msdn.microsoft.com/en-us/library/5ha4240h(v=vs.110).aspx) . Vedere https://technet.microsoft.com/en-us/library/ms189542%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396 per i dettagli sull'impostazione del livello di isolamento per varie tecnologie di database Microsoft.

Problemi correlati