c# - 开始事务时出现 SqlServer.Management.SMO.Server 错误

标签 c# sql-server transactions smo

使用 SMO 时出错。此代码一直在 VB.Net 4 中运行,并且刚刚移至 C#,现在无法运行。

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

错误是:

A transaction that was started in a MARS batch is still active at the end of the batch. The transaction is rolled back.

除了 SMO 之外,没有与数据库的其他连接。

连接字符串是:

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

有没有人在使用 SMO 时看到过这个错误并且知道是什么原因造成的?

最佳答案

从连接字符串中删除 MARS 解决了问题。

关于c# - 开始事务时出现 SqlServer.Management.SMO.Server 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9744089/

相关文章:

c# - 使用 JWT 承载 token 的身份验证 Swagger

c# - 在自己的文件夹中检测丢失的 Dll

sql-server - 创建 Azure 数据库副本,然后每晚将生产数据加载到副本中

sql - 如何根据少数列值获取重复行?

mysql - 单个 SELECT 查询的 InnoDB 隔离级别

c# - 使用更改的默认打印机设置打印 PDF

c# - 拆分两组

sql-server - 在 SQL Server 中筛选日期时间列

database - 长期交易是否可以接受?

session 关闭时的 NHibernate 事务管理