C# 在sql server的连接字符串中,什么是Enlist=false?
我是.net的初学者。我遇到了以下错误 “无法执行事务操作,因为有挂起的请求正在处理此事务。” 我在博客的某个地方读到了这篇文章。我在我的连接字符串后面附加了C# 在sql server的连接字符串中,什么是Enlist=false?,c#,sql-server-2005,sql-server-2008-r2,ado.net,C#,Sql Server 2005,Sql Server 2008 R2,Ado.net,我是.net的初学者。我遇到了以下错误 “无法执行事务操作,因为有挂起的请求正在处理此事务。” 我在博客的某个地方读到了这篇文章。我在我的连接字符串后面附加了inclist=true,问题就解决了 注意:我正在将数据库从sql server 2005升级到sql server 2008R2 请帮助理解使用登记的重要性。登记是用户的职责 连接对象将自动登记到现有的 分布式事务,如果它确定事务处于活动状态。 打开连接时会发生自动事务登记 或从连接池中检索。您可以禁用自动登记 在现有事务中,通过将登记
inclist=true
,问题就解决了
注意:我正在将数据库从sql server 2005升级到sql server 2008R2
请帮助理解使用登记的重要性。登记是用户的职责
连接对象将自动登记到现有的
分布式事务,如果它确定事务处于活动状态。
打开连接时会发生自动事务登记
或从连接池中检索。您可以禁用自动登记
在现有事务中,通过将登记=false
指定为连接
SqlConnection的字符串参数,或OLE DB Services=-7作为
OLEDB连接的连接字符串参数
注意在调用登记的分布式交易
之前,必须打开连接
下面是一个例子,上面写着:
ConnectionString属性支持关键字Enlist,该关键字
指示System.Data.SqlClient是否将检测事务
上下文并自动登记分布式数据库中的连接
交易如果登记=true,连接将自动登记
在开始线程的当前事务上下文中如果登记=false,
SqlClient连接不与分布式服务器交互
交易登记的默认值为true。如果登记不是
在连接字符串中指定时,将自动创建连接
在分布式事务中登记,如果在
连接已打开