我想将我当前的数据库从 MDB 移动到 MSSQL 服务器。当我通过 ODBC 完成此操作时,查询变得特别慢。我有红色,它导致了 ODBC,它不支持 group by 和 JOIN,join 等它必须在当前机器上执行多个查询和处理数据。
我怎样才能更快地切换到某些东西(对于 MSAccess 2003)?
我想将我当前的数据库从 MDB 移动到 MSSQL 服务器。当我通过 ODBC 完成此操作时,查询变得特别慢。我有红色,它导致了 ODBC,它不支持 group by 和 JOIN,join 等它必须在当前机器上执行多个查询和处理数据。
我怎样才能更快地切换到某些东西(对于 MSAccess 2003)?
实际上,在大多数情况下,Access 做得不错。如果您的查询有一些连接,但特别是有一些聚合分组依据,那么只需创建一个视图,然后链接到该视图。它的运行速度可能与传递查询一样快,但在访问端没有麻烦和努力。
因此,在大多数情况下,使用 Access 作为 SQL Server 的前端应该能够获得出色的性能。
所以,对于调用存储过程,或者对于一些报表,可以考虑使用直通查询。
但是,为了节省您的时间和精力,然后对于具有连接的查询,尤其是具有分组依据或计数等聚合的查询,然后只需创建一个视图服务器端,然后链接到该端即可。
当您这样做时,您会发现性能一流。
只是一个基本而愚蠢的问题:您是否在 SQL 数据库中定义了所有需要的索引?
您是否尝试过这种方法: http: //www.packtpub.com/article/transferring-data-ms-access-2003-to-sql-server-2008?
为了让它重演,在最后一步,勾选“保存 SSIS 包”并适当地安排它。
这是 Microsoft for Microsoft 的方法,因此除非存在已知问题,否则我会将其用作最佳方法。
在使用 MS Access 时,您可以使用 Access 数据项目。这为您提供了一个带有 SQL Server 后端的 MS Access 前端。Access 数据项目的主要好处是 (a) 您可以获得真实 SQL 数据库的稳定性、可扩展性和安全性,同时 (b) 仍然使用著名的 MS Access 前端和编程。
有关深入讨论,请参阅此 stackoverflow 问题:Access 数据项目的优点和缺点(MS Access 前端与 SQL Server 后端)