将 Oracle 表链接到 Access 2007 文件(性能)

Posted

技术标签:

【中文标题】将 Oracle 表链接到 Access 2007 文件(性能)【英文标题】:Linking Oracle tables to Access 2007 File (Performance) 【发布时间】:2014-03-26 11:43:40 【问题描述】:

在将 Oracle 11g 数据库中的一些表和视图链接到 Access 2007 文件时遇到问题。

我使用的是 Oracle 客户端 (SQORA32.DLL) 版本 11.02.00.03。

如果视图/表返回少量数据,没有问题。当视图或表返回“大量”数据时,就会出现问题。我试图增加驱动程序的缓冲区大小(默认为 64000),看看是否会发生这种情况。我还删除了“启用查询超时”选项 - 否则我会收到“用户取消查询”或“ODBC - 调用失败”错误。

为了链接表/视图,我使用了“本机工具”(外部数据 -> ODBC 数据库 -> 通过创建链接表链接到数据源)。

我想知道是否可以使用 vba 从表/视图中检索数据。有时,我(您应该将“我”读作“用户”)可能需要更新某些表(控制表)上的数据。

请告诉我你的想法。

编辑:我们对这个项目的目标是从 SQL Server 2005 迁移到 Oracle 11gR2。在分析了有关 SQL Server 的 Access 文件的行为后,我得出结论,结果显示为“光标” - 如果您在结果窗口中向下滚动,它将加载更多。

我认为这可能是问题所在,因为 AFAIK、Oracle(可能是驱动程序?)从数据库中提取所有内容,然后才填充 MS Access。

【问题讨论】:

什么是“大量”数据?我知道我们的 OBI 服务器设置为只返回一定的最大行数。也许您正在为自己的服务器达到这个限制。如果您可以访问客户端工具,则可以通过多种方式获取信息、iqy 文件、Go URL 和 obdc 连接,但它们各有利弊,并且有一定的局限性。 “大”(现在它确实有引号)我的意思是像 2K++ 行。关于 Access 应该没什么大不了的。但是,就性能而言,确实如此。我有返回 600K+ 行的表/视图。我已经编辑了我的问题以进一步解释问题的根源。 【参考方案1】:

这之后很长一段时间,所以这里有解决方案。 MS 访问有一个用于 ODBC 连接的标志,即“将浮点数视为数字”。这已经成功了。

【讨论】:

以上是关于将 Oracle 表链接到 Access 2007 文件(性能)的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 MS Access 2007 访问 ODBC DB

使用 Oracle 的 ODBC 链接表登录 Access 2007

尝试连接到 SQL 表时,MS Access 2007 中的查询错误

如何使用c#连接到access 2007

无法使用 Talend 连接到 Access 2007 数据库

Microsoft Access 2007 连接