问题描述
我是 .net 的初学者.我遇到了以下错误的问题
I am a beginner with .net. I faced issue with the following error
无法执行事务操作,因为有待处理的请求正在处理此事务.".
"The transaction operation cannot be performed because there are pending requests working on this transaction.".
我在博客的某处读到.我在我的连接字符串中添加了 enlist=true
,问题得到了解决.
i read somewhere in the blog .i appended my connection string with enlist=true
and the issue was resolved.
注意:我正在将我的数据库从 sql server 2005 升级到 sql server 2008R2.
Note: i am upgrading my DB from sql server 2005 to sql server 2008R2.
请帮助理解使用 enlist 的重要性.
Please help to understand the importance of using enlist.
推荐答案
登记是 分布式事务
Connection 对象将自动加入现有的分布式事务,如果它确定事务处于活动状态.打开连接时发生自动事务登记或从连接池中检索.您可以禁用自动登记通过将 Enlist=false
指定为连接,在现有事务中SqlConnection 的字符串参数,或 OLE DB Services=-7 作为OleDbConnection 的连接字符串参数.
The Connection object will automatically enlist in an existing distributed transaction if it determines that a transaction is active. Automatic transaction enlistment occurs when the connection is opened or retrieved from the connection pool. You can disable auto-enlistment in existing transactions by specifying
Enlist=false
as a connection string parameter for a SqlConnection, or OLE DB Services=-7 as a connection string parameter for an OleDbConnection.
注意在调用 EnlistDistributedTransaction
之前,连接必须是 open
.
Note The Connection must be open
before calling EnlistDistributedTransaction
.
以下是 Enlist=False;
这篇关于sql server 的连接字符串中的 Enlist=false 是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!