如何从 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 到 MS-Access 到 Mysql

如何从 Oracle DB 查询外部 MS Access DB?

如何使用 MYSQL 查询访问 Ms-Access 数据库

从 MS Access 链接 Oracle 视图时可以指定主键吗?

无法使用 MS Access 2007 访问 ODBC DB

我如何知道 MS Access DB 损坏的实际原因