2012-03-16 13 views
5

Avere un errore quando si utilizza SMO. Questo codice ha funzionato in VB.Net 4 ed è stato appena spostato in C# e ora non funziona.Errore SqlServer.Management.SMO.Server all'inizio della transazione

Microsoft.SqlServer.Management.Smo.Server server = new Microsoft.SqlServer.Management.Smo.Server(
    new Microsoft.SqlServer.Management.Common.ServerConnection(
    new System.Data.SqlClient.SqlConnection(connStr.ToString()))); 

server.ConnectionContext.Connect(); 
server.ConnectionContext.BeginTransaction(); // error here 

errore è:

Una transazione che è stato avviato in un batch MARS è ancora attivo alla fine del batch. La transazione viene ripristinata.

Non ci sono altri collegamenti al database diversi da SMO.

La stringa di connessione è:

dati Source = MyPC \ SQLServer; Initial Catalog = mytestdb; Integrated Security = True; User ID =; Password =; MultipleActiveResultSets = True

Qualcuno visto questo errore quando si utilizza SMO e sa cosa lo sta causando?

+1

Hai provato a disattivare MARS (MultipleActiveResultSets = False)? – RobS

+0

Immagino che disabilitare MARS risolverà questo problema, ma mi piacerebbe solo cambiare le impostazioni finché il codice non inizia a funzionare. – usr

+0

rimuovendo il MARS dalla stringa di connessione risolto il problema. –

risposta

8

La rimozione del MARS dalla stringa di connessione ha risolto il problema.