我可以在连接字符串中设置隔离级别吗?

时间:2010-07-21 20:55:13

标签: sql-server sql-server-2008

如何将我所有的SqlCommand ExecuteNonQuery调用的隔离级别设置为未提交读取? (连接到SQL Server 2008企业实例)

我只是简单地转换静态数据并将结果定期插入到我自己的表中,并且希望避免编写超出必要的代码。

5 个答案:

答案 0 :(得分:14)

不,你不能。

您需要在启动事务时明确定义隔离级别。

有关调整隔离级别的详细信息,请参阅MSDN documentation on the topic

答案 1 :(得分:2)

答案 2 :(得分:1)

您可以在SqlTransaction对象中设置隔离级别,该对象是SqlCommand对象的属性。

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqltransaction.isolationlevel.aspx

答案 3 :(得分:0)

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
BEGIN TRAN
/* do stuff */
COMMIT

答案 4 :(得分:0)

请注意,ADODB允许设置连接的默认隔离级别,而ADO.NET将使用上次提交的事务的隔离级别作为默认隔离级别(请参阅https://msdn.microsoft.com/en-us/library/5ha4240h(v=vs.110).aspx中的注释)。有关为各种Microsoft数据库技术设置隔离级别的详细信息,请参阅https://technet.microsoft.com/en-us/library/ms189542%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396