Sql连接隔离级别保留



我有一个小应用程序,分为两部分:

  1. 连接数据库检索配置数据的配置部分。
  2. 数据导入器,使用配置将数据导入数据库。

Data Importer在多个线程中使用IsolationLevel.Snapshot上的事务运行

配置sql命令不使用任何事务。

数据导入器不能在配置窗口打开的同时运行。

我的问题如下:

1。打开应用程序并检查配置。(进入配置窗口抽查一切)。2.执行数据导入。3.重新打开配置窗口

在导入后重新打开配置窗口时,我将收到一个来自数据阅读器的错误,说Snapshot isolation transaction failed accessing database...。然而,这个数据阅读器是从一个没有任何事务或隔离级别设置的SqlConnection创建的。

如果我重新启动应用程序,我可以重新打开配置窗口没有错误。

.Net或SQLServer是否持有IsolationLevel ?

是否有一种方法来改变IsolationLevel后,它已经设置没有创建一个新的事务的一切?

我认为隔离级别是通过连接池传递的。

这是设计的,正如这篇文章所述。

有几种方法可以解决这个问题,例如显式指定事务隔离级别。

你可能想看看这篇文章

最新更新