Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Access 2003数据库中对表进行排序,并将表链接到SQL 2008,这会导致锁定问题_Sql_Database_Ms Access - Fatal编程技术网

在Access 2003数据库中对表进行排序,并将表链接到SQL 2008,这会导致锁定问题

在Access 2003数据库中对表进行排序,并将表链接到SQL 2008,这会导致锁定问题,sql,database,ms-access,Sql,Database,Ms Access,我们遇到一个问题,即用户在Access 2003中对一个大表进行排序时,将表链接到SQL Server 2008 R2数据库,并锁定整个表,防止其他人进行任何写入 这是预期的行为还是有办法更改Access或SQL 2008中此类操作的锁定功能?使用以下命令创建表的“快照”(只读)查询: SELECT * FROM LinkedTableName 您可以在查询属性窗口中选择“快照” 然后指示用户打开查询并对其进行排序,这应该可以解决问题,因为对于链接表的常规视图,Access必须读取整个表才能使

我们遇到一个问题,即用户在Access 2003中对一个大表进行排序时,将表链接到SQL Server 2008 R2数据库,并锁定整个表,防止其他人进行任何写入

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

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

SELECT * FROM LinkedTableName
您可以在查询属性窗口中选择“快照”

然后指示用户打开查询并对其进行排序,这应该可以解决问题,因为对于链接表的常规视图,Access必须读取整个表才能使用其本机DAO格式的索引,使用“快照”忽略此操作,而只是转储数据视图

注意:由于这些错误,我不建议使用DB的外部访问的链接表,总的来说,您最好使用到SQL server的ADO连接,因为这样所有工作都在服务器端完成,应该避免锁定问题


或者,您可以创建一个到SQL server的“传递”查询,这将允许在不锁定的情况下进行排序,因为这也可以在服务器端完成工作:)

感谢您提供的大量信息。我们还没有机会看到这是否解决了我们的问题,尽管看起来不错。