20
|
Sidharth Panwar · 技术社区 · 14 年前 |
![]() |
1
10
隔离级别是在底层DBMS中实现的,比如说SQLServer。设置隔离级别很可能会设置用于设置连接隔离级别的SQL命令。 只要连接保持打开,DBMS就保持隔离级别。因为连接被放入池中,所以它保持打开状态,并保留以前所做的设置。 当处理隔离级别时,您应该在任何事务结束时重置隔离级别,或者在请求新连接时设置隔离级别,甚至更好。 |
![]() |
2
6
集合连接不能盲目重复使用。它们具有隐藏的内部成员来跟踪当前状态,如当前事务、挂起的结果等,框架可以清除返回池的连接。仅仅因为状态在编程模型中不公开,这并不意味着不存在(这适用于任何库类,任何类设计器都可以将成员隐藏在
最后,从它调用的池中重新使用的任何连接
|
![]() |
3
4
它不会将隔离级别返回到原始值。使用实体的示例需要一个空事务来重置级别(尽管它显然不需要提交(不需要.complete())。 尝试使用DB服务器上的SP更改ISO级别不起作用。输出:
在哪里? from link
而且(不起作用):
|
![]() |
4
1
在 SQL Server 2014 当连接返回池时,池连接的隔离级别将重置。见 this forum post
更新日期:2017-04-22不幸的是,这是后来在SQL Server 2014 CU6和SQL Server 2014 SP1 CU1中“未修复”的,因为它引入了一个错误:
|