Sql server 将access adp应用程序从SQL Server 2000移动到SQL Server 2008时出现排序问题

Sql server 将access adp应用程序从SQL Server 2000移动到SQL Server 2008时出现排序问题,sql-server,ms-access-2003,Sql Server,Ms Access 2003,我们正在针对新的SQL Server 2008数据库服务器测试MS Access应用程序。 我们有按字母顺序排序的表单,因为视图中有order by,当access应用程序连接到SQL Server 2000数据库时,排序是正确的 但是,当我连接到新的2008数据库时,这些排序属性会发生变化——应用程序似乎会按主键排序。 我阅读了一些MS文档,其中指出access可能在视图中的一个表中使用聚集索引来做出排序决策。从而覆盖视图中的排序 有人见过类似的问题吗? 如果是这样,这个问题的解决办法是什么

我们正在针对新的SQL Server 2008数据库服务器测试MS Access应用程序。 我们有按字母顺序排序的表单,因为视图中有order by,当access应用程序连接到SQL Server 2000数据库时,排序是正确的

但是,当我连接到新的2008数据库时,这些排序属性会发生变化——应用程序似乎会按主键排序。 我阅读了一些MS文档,其中指出access可能在视图中的一个表中使用聚集索引来做出排序决策。从而覆盖视图中的排序

有人见过类似的问题吗? 如果是这样,这个问题的解决办法是什么


谢谢。

视图中的order by将被忽略(如果有)

create view yourView as
select ...
ORDER BY col1
order by将被忽略,返回的结果将按索引的顺序返回(最有可能是聚集的)

要保证订单,您必须执行以下操作:

select ... from yourView ORDER BY col1
并从视图本身中删除order by