将 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 中的查询错误