MS Access 2007和SQL Server 2000

时间:2009-06-18 20:14:28

标签: ms-access-2007

我最近已升级到Office 2007.我有几个Access数据库(由于多种原因,我保留了Access 2000格式),这些数据库链接到SQL Server 2000数据库。我经常在这些数据库中有几十个查询。我每天创建新的查询,排序,总结和一般分析数据。

自升级以来,一些查询需要很长时间才能完成(分钟而不是几秒钟),而我尝试运行的一个新查询根本无法完成,我必须在Access上结束任务。这是一个相当简单的查询,它连接3个表,并在其中一个字段上排序。我一直这样做,现在看来我不能。

我搜索过类似问题的讨论,但没有看到具体的建议。

有什么想法吗?

4 个答案:

答案 0 :(得分:1)

我建议删除所有ODBC链接表并从头开始重新创建它们作为起点。

答案 1 :(得分:0)

如果您的查询不需要对数据进行任何更改,您可能会发现通过查询将它们转换为SQL Pass会大大加快它们的速度。请注意,这些查询不是通过Jet数据库引擎解析的,而是直接发送到服务器并绕过任何链接表。

您必须使用MS SQL语法并丢失QBE网格,结果将是只读的。

如果您需要更新数据,那么可能需要存储过程。

答案 2 :(得分:0)

当我转换为SQL Server后端时,我使用了SQL Server迁移助手。我高度推荐它。它的功能非常好。

话虽如此,我假设您在FE中使用链接表。我通过从Access复制SQL,然后将其粘贴到SQL Server Management Studio上的“新查询”窗口来转换缓慢移动的查询。然后,逐个处理所有语法更改,我将查询转换为T-SQL并将其保存为与Access中的查询同名的视图。

我有一个小例程,然后将Access查询重命名为“Local_”,然后在SQL Server上创建一个链接表条目到视图。你会发现过去运行几分钟的查询会以这种方式运行几秒钟。当然,您可以手动执行此操作。

顺便说一句,SQL Server迁移助手将转换许多查询(它不会尝试转换操作查询,只选择查询...),几乎没有干预。

答案 3 :(得分:0)

我会将Access Data Projects与SQL Server 2000一起使用。当你的SQL后端很旧时,它会很有效。