不能在手动或分布事务方式下创建新的连接
数据库服务器:SQL Server 2005
这是在第N次测试的时候发生的问题。
之前正常运行的代码,在执行一个查询的存储过程时突然报了「不能在手动或分布事务方式下创建新的连接」异常。
因为很久没有动过那个部分,所以很奇怪,怎么突然就这样了呢。
当时正好有另一台服务器,于是在那台服务器上测试了,发现是正常的,就怀疑是否服务器参数设置的关系。
但是其他人的代码都是正常的啊?前辈提醒我看下set nocount那些是否一致,检查了也是一样的。
正在一筹莫展、继续搜索的时候,前辈找到原因了。
原来那段代码是调用了多个存储过程的,在调用这个存储过程的前一个里面没有设置set nocount on,
于是轮到调用它的时候就报错了。
查查MSDN,set nocount on如果没设置的话,就会更新@@RowCount函数,返回影响的行数。
但是这和那个错误有什么关系呢 = =
按照这个错误信息查了一下,好像多在SELECT时发生,和Cursor有关。
但是具体好难理解啊,总之先mark。
2017年8月04日 16:35
zz
2017年8月04日 16:35
1321312