如果我将一个简单的Sql Server表数据连接添加到Excel工作表,如果连接永远不会关闭,它是否可以锁定该表?
答案 0 :(得分:1)
通常的答案:是的,但这取决于情况......
..主要取决于您的数据库采用何种锁定策略(同样取决于配置)。我的假设是Excel会打开与数据库的“常规”连接。如果你现在查询一个表,如果你有悲观的锁定策略,那可能已经锁定了表。
希望这会有所帮助..有很多关于锁定的信息与许多数据库系统有关。
答案 1 :(得分:1)
虽然我认为可以锁定表格,但我会说Excel通常不会,因为您只选择数据。如果您尝试更新某些内容,请确保您将锁定基础表,但只要您只查看数据,就应该没问题。
为了确保,为什么不在系统中较少用户的表上进行某些测试,或者在另一个配置相同方式的数据库中的表中呢?然后,您可以在SQL Server上使用SP_LOCK来查看Excel连接是否已锁定表,或者您可以尝试对表执行另一个查询以查看它是否被阻止。
答案 2 :(得分:1)
在微软论坛上提出了类似的问题。根据该帖子,默认情况下,Excel会请求对表中的行进行完全锁定。所以,是的,它可以锁定表格。
MSDN文章讨论了SQL 2005中可用的各种隔离级别,因此如果您运行该版本,这可能会很有用。