2012-03-16 22 views
5

Tiene un error al usar SMO. Este código ha estado funcionando en VB.Net 4 y se acaba de mover a C# y ahora no está funcionando.Error SqlServer.Management.SMO.Server al iniciar la transacción

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 

error es:

Una transacción que se inició en un lote MARS todavía está activo al final del lote. La transacción se revierte.

No hay otras conexiones a la base de datos que no sean SMO.

La cadena de conexión es:

datos Fuente = MIPC \ SqlServer; Initial Catalog = mytestdb; Integrated Security = True; User ID =; contraseña =; MultipleActiveResultSets = True

Alguien visto este error al usar SMO y sabe lo que lo está causando?

+1

¿Ha intentado deshabilitar MARS (MultipleActiveResultSets = False)? – RobS

+0

Supongo que deshabilitar MARS solucionará esto, pero odiaría simplemente cambiar la configuración hasta que el código comience a funcionar. – usr

+0

eliminar el MARS de la cadena de conexión solucionó el problema. –

Respuesta

8

Al eliminar el MARS de la cadena de conexión se solucionó el problema.

Cuestiones relacionadas