2012-03-16 23 views
5

SMO使用時にエラーが発生しました。このコードはVB.Net 4で動作しており、C#に移動したばかりで、現在は機能していません。トランザクション開始時のSqlServer.Management.SMO.Serverエラー

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 

エラーです:MARSバッチで開始されたトランザクションは、バッチの終わりにまだアクティブである

。トランザクションはロールバックされます。

SMO以外のデータベースへの接続は他にありません。

接続文字列は次のとおりです。

データソース= MYPC \のSQLServer;初期カタログ= mytestdb;真の統合セキュリティ=;ユーザーID =;パスワード=; MultipleActiveResultSetsは= Trueの

は誰を持っていますSMOを使用しているときにこのエラーが発生し、原因を知っていますか?

+1

MARS(MultipleActiveResultSets = False)を無効にしましたか? – RobS

+0

私はこれを修正するMARSを無効にすると思いますが、コードが動作するまで設定を変更するのは嫌です。 – usr

+0

接続文字列からMARSを削除すると問題が解決しました。 –

答えて

8

接続文字列からMARSを削除すると問題が解決しました。

関連する問題