如何从Oracle访问MS Access数据库?

Nic*_*nov 5 sql oracle ms-access odbc plsql

配置从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);
Run Code Online (Sandbox Code Playgroud)

第二个:

insert into SomeTable@MSADB("ID", "Name")
  values(123, 'SomeName');
Run Code Online (Sandbox Code Playgroud)

在第二次插入的情况下,一切都很好.但第一个给出错误"HYC00 NativeError = 106未实现的可选功能".我只是无法理解为什么会发生这种情况以及如何解决这个问题.

绑定变量(立即执行)没有解决这个问题.DBMS_HS_PASSTHROUGH.BIND_VARIABLE也没有解决这个问题.

我看到的唯一解决方案是将这些变量嵌入到字符串中然后执行它.还有其他解决办法迫使第一个插件工作吗?

谢谢.

Bri*_*ian 1

Oracle 11g 客户端中存在一个已知问题,即连接到 Excel 工作簿的 ODBC 驱动程序会出现相同的错误。Oracle 发布了补丁 7009291 来解决该问题,因此您可以查看该补丁,看看它是否也能解决访问问题。

您还可以启用 DG4ODBC 跟踪来查看发生了什么,并确定这是否是与 Excel 问题类似的问题。通过在 init.ora 文件中设置 HS_FDS_TRACE_LEBVEL=255 来启用跟踪,然后在 \hs\trace 中找到跟踪文件