使用链接表将Access 2003数据库中的表排序到SQL 2008是套管锁定问题

时间:2012-02-27 15:19:13

标签: sql database ms-access

我们遇到的问题是,用户在Access 2003中对大型表执行排序,并且链接表连接到SQL Server 2008 R2数据库会锁定整个表,从而阻止其他人执行任何写操作。

这是预期的行为还是有办法在Access或SQL 2008中更改此类操作的锁定功能?

1 个答案:

答案 0 :(得分:2)

使用以下方法创建表的“快照”(只读)查询:

SELECT * FROM LinkedTableName

您可以在查询属性窗口中选择“快照”。

然后指示用户打开查询并对其进行排序,这应该像链接表的普通视图一样解决问题,Access必须读取整个表以使用其本机DAO格式的索引,使用“Snapshot”忽略了这一点,只是转储数据视图。

注意:由于这些非常错误,我不建议在Access之外使用带有DB的链接表,使用ADO连接到SQL服务器总体上更好,因为这样所有工作都在服务器端完成,应该避免锁定问题。

或者,你可以为你的SQL服务器创建一个“传递”查询,这样就可以在没有锁定的情况下进行排序,因为这也可以在服务器端进行:)