如何从 Oracle 访问 MS Access 数据库?
Posted
技术标签:
【中文标题】如何从 Oracle 访问 MS Access 数据库?【英文标题】:How do I access an MS Access database from Oracle? 【发布时间】:2011-11-12 18:31:19 【问题描述】:配置从 Oracle 到 MS Access 的访问权限。
Oracle XE 11.2.0.2。
Microsoft Access 2010
有两个 INSERTS(插入驻留在 MS ACCESS db 中的表)操作。其中一个是使用 pl\sql 变量,另一个不是。
第一次插入:
insert into SomeTable@MSADB("ID", "Name")
values(l_ID, l_Name);
第二个:
insert into SomeTable@MSADB("ID", "Name")
values(123, 'SomeName');
在第二次插入的情况下,一切都很好。但第一个给出错误“HYC00 NativeError=106 未实现可选功能”。我只是不明白为什么会发生这种情况以及如何解决这个问题。
绑定变量(立即执行)没有解决这个问题。 DBMS_HS_PASSTHROUGH.BIND_VARIABLE 也没有解决这个问题。
我看到的唯一解决方案是将这些变量嵌入到字符串中,然后执行它。 是否有其他解决方案可以强制第一个插入工作?
谢谢。
【问题讨论】:
您可以记录来自 oracle 的调用吗? (我知道你不能在访问端)如果它是一个 ODBC 链接,那么你可能能够打开登录。 【参考方案1】:Oracle 11g 客户端中存在一个已知问题,其中 ODBC 驱动程序连接到 Excel 工作簿,它给出了相同的错误。 Oracle 发布了补丁 7009291 来解决该问题,因此您可以查看该补丁,看看它是否也能解决访问问题。
您还可以启用 DG4ODBC 跟踪以查看正在发生的事情并确定这是否与 Excel 问题类似。通过在您的 init.ora 文件中设置 HS_FDS_TRACE_LEBVEL=255 启用跟踪,然后在您的 \hs\trace
中找到跟踪文件【讨论】:
以上是关于如何从 Oracle 访问 MS Access 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Oracle DB 查询外部 MS Access DB?
从 MS Access 链接 Oracle 视图时可以指定主键吗?