Excel数据连接可以locking数据库表吗?

如果我添加一个简单的Sql Server表格数据连接到Excel工作表,如果连接从未closures,它可以locking该表吗?

通常的答案是,但是这要看情况

主要是你的数据库采用什么locking策略(也取决于configuration)。 我的假设是,Excel会打开一个“常规”的数据库连接。 如果你现在查询一个表,如果你有悲观的locking策略,那么这个表可能已经locking了表。

希望这有助于..有很多关于locking的信息与许多数据库系统有关。

虽然我认为可以locking一个表格,但我会说Excel通常不会,因为您只是select数据。 如果您尝试更新某些内容,请确保您locking了基础表格,但只要您只查看数据,就应该没问题。

为了确保,为什么不在系统中的用户较less的表上进行一些testing,或者在另一个数据库中以相同的方式configuration表? 然后,您可以在SQL Server上使用SP_LOCK来查看您的Excel连接是否已locking表,或者您可以尝试对您的表执行另一个查询以查看是否被阻止。

在微软论坛上也有类似的问题。 根据该post,默认情况下,Excel会对表格中的行进行完全locking。 所以,是的,它可以locking桌子。

MSDN的post讨论了SQL 2005中可用的各种隔离级别,所以如果你正在运行该版本的话可能会certificate是有用的。

MSDN上的类似问题

MSDN的隔离级别

有关隔离级别的更多信息