我有一个包含两部分的小应用程序:
- 与数据库联系以检索配置数据的配置部分。
- 使用配置将数据导入数据库的数据导入器部分。
数据导入器使用事务在多个线程中运行IsolationLevel.Snapshot
配置 sql 命令不使用任何事务。
数据导入器不能在配置窗口打开的同时运行。
我的问题如下:
1.打开应用程序并检查配置。(进入配置窗口抽查一切)。2.运行数据导入。3.重新打开配置窗口。
在导入后重新打开配置窗口时,我将收到来自 DataReader 的错误消息,指出Snapshot isolation transaction failed accessing database...
此 DataReader 是从根本没有设置任何事务或 IsolationLevel 的 SqlConnection 创建的。
如果我重新启动应用程序,我可以重新打开配置窗口而不会出错。
.Net 或 SQLServer 是否持有 IsolationLevel ?
有没有办法在设置后更改 IsolationLevel 而无需为所有内容创建新事务?