2012-03-16 18 views
5

Wystąpił błąd podczas korzystania z SMO. Ten kod działa w VB.Net 4 i został właśnie przeniesiony do C#, a teraz nie działa.SqlServer.Management.SMO.Server błąd podczas rozpoczynania transakcji

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 

Błąd jest:

Transakcja, która rozpoczęła się w partii Mars jest nadal aktywny na koniec partii. Transakcja zostanie wycofana.

Nie ma innych połączeń z bazą danych oprócz SMO.

Ciąg połączenia jest:

Data Source = MyPC \ SqlServer; Initial Catalog = mytestdb; Integrated Security = True; User ID =; Password =; MultipleActiveResultSets = True

Czy ktoś Widzisz ten błąd podczas korzystania z SMO i wie, co jest przyczyną?

+1

Czy próbowałeś wyłączenie MARS (MultipleActiveResultSets = False)? – RobS

+0

Myślę, że wyłączenie MARS naprawi to, ale nienawidzę tylko zmiany ustawień, dopóki kod zacznie działać. – usr

+0

usunięcie MARS z ciągu połączenia naprawiło problem. –

Odpowiedz

8

Usunięcie MARS z ciągu połączenia naprawiło problem.