【发布时间】:2019-08-29 16:02:26
【问题描述】:
当我想将 Access 前端应用程序与 MSSQL Server 中的一些链接表(通过 ODBC)一起使用时,最好的解决方案是什么?
这对我来说的困难在于我必须使用具有许多多个连接的复杂查询(以及从查询中调用的函数)。 由于两个数据库之间的连接,它非常非常慢(并且某些表中有很多数据,2 GB Access mdb限制是MSSQL DB升级的原因)。
由于连接的 Access 表,直通查询没有帮助。 使用 OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0'... 在 SQL Server 中它仍然很慢。我尝试使用 MSSQL 中的 WHERE 子句的 ODBC 链接视图,但它 看起来和整张桌子一样慢。
我必须将所有连接的 Access 表移动到 MSSQL DB 并将所有查询转换为 Pass-Through?有没有其他解决办法?
【问题讨论】:
-
无论您如何切片,跨系统连接都会非常缓慢。链接表对于性能来说真的很糟糕。我会将您的 Access 表移动到 SQL Server 并在一个数据库中获取您的所有数据。
-
在很多情况下,代替 PT 查询,我建议您创建一个视图服务器端,然后链接该视图。这种设置往往是工作量最少的,并且可以使用打开表单或打开报表的“where”子句过滤生成的链接表。因此,您会发现它们比 PT 查询报告甚至表格更有效。
标签: sql-server ms-access odbc oledb