【发布时间】:2018-09-28 22:23:41
【问题描述】:
我有一个 SQL CLR 触发器,其中包含许多 SqlDataReader 调用(除其他外),在生产系统中,用户会遇到类似的错误
在执行用户定义的例程或聚合“MyTrigger”期间发生 .NET Framework 错误:
System.InvalidOperationException:已经有一个打开的 DataReader 与此命令关联,必须先关闭。
System.InvalidOperationException:
在
System.Data.SqlClient.SqlInternalConnectionSmi.ValidateConnectionForExecute(SqlCommand 命令)
...
但是我无法在我的测试环境中重现这一点。我正在考虑设置MutltipleActiveResultSets=true,但当然没有要在CLR触发器中定义的连接字符串(或者是否存在......) - 所以可以在这里某处将MARS设置为true,还是我需要继续寻找替代解决方案?
【问题讨论】:
标签: c# .net triggers sqlclr sql-server-mars