c# - 使用远程 sql server 进行批量插入时出现异常

标签 c# sql-server sqlbulkcopy

我正在调用一个 rest 完整服务,该服务依次在 sql server 数据库中执行批量插入。当休息服务器和数据库服务器在同一台机器上时,一切正常,但在远程数据库服务器的情况下,会遇到以下异常。

System.InvalidOperationException: The transaction associated with the current 
connection has completed but has not been disposed.
The transaction must be disposed before the connection can be used to
execute SQL statements.

我正在使用以下交易。

TransactionOptions tOptions = new TransactionOptions();
tOptions.IsolationLevel = IsolationLevel.ReadCommitted;
//This transaction is required here as it checks for all db operations.
using (var transactionScope = new TransactionScope(TransactionScopeOption.RequiresNew, tOptions))
{
    //DB operations....
    transactionScope.Complete();
}

最佳答案

在我的 IIS 服务器上配置 Windows MSDTC 服务就成功了。

以下链接显示了如何配置 MSDTC。

http://www.deepakkapoor.net/turn-on-msdtc-windows-7/

关于c# - 使用远程 sql server 进行批量插入时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12399995/

相关文章:

c# - 如何使用 Entity Framework Core 将属性设置为 "Identity"或自动递增的列?

c# - 检查字符串长度并从一个字符串中生成两个字符串(C#)?

c# - aspnet 核心 jwt token 作为获取参数

mysql - 对于同一个 "callingNumber"记录了多少次唯一的 "CallReasonName"

ASP.NET SqlBulkCopy 不会在服务器上插入所有记录

.net - 禁用 SqlBulkCopy 错误的索引

c# - 获取 Json 数组大小

sql-server - SQL - 将 Varchar 值转换为数据类型 Int 时转换失败

sql-server - 在 SQL Server 中将日期从 dd-mm-yyyy 转换为 yyyy-mm-dd

c# - 即使在为操作设置超时属性后超时异常