Oracle VBA 连接字符串

Oracle VBA connection string

如何正确建立连接字符串以集成启用宏的 PowerPoint 以便能够查询 Oracle 数据库?我看过许多与此相关的旧 youtube 视频和在线教程(主要在 excel 中),但连接字符串在每个视频和在线教程中都不同。我正在使用 64 位 Windows 机器和我通常通过 SQL Developer 访问的 Oracle 数据库。

似乎方向正确的参考 link:

http://learnexcelmacro.com/wp/2011/11/oracle-connection-string-in-vba/

我正在尝试使用与该服务的连接,所以它应该看起来像这样:

我个人对连接字符串所做的唯一更改是: HOST 是 SQL 开发者实例属性中的主机名创始人 端口是 SQL 开发人员实例属性中的端口 Uid 是 SQL 开发者实例属性中的用户名 Pwd 是 SQL 开发人员实例属性

中的密码

我没有改变所有其他字段。应该注意的是 我确实有工具>参考>Microsoft ActiveX 数据对象 2.8 库

我知道在 SQL Developer 中您可以查看数据库实例连接的属性。是否包含构建我的连接字符串的所有信息?我无法使连接字符串正常工作,并且经常遇到错误。

谢谢!

有几个驱动程序可用于从 VBA 连接到 Oracle 数据库。

常见的是 ODBC 驱动程序,来自 Microsoft 或来自 Oracle 或 OLE DB 提供程序。 OLE DB 提供程序也来自 Microsoft 或 Oracle。来自第 3 方的更多内容(请参阅 ),但让我们保持简单。

根据您选择的驱动程序,连接字符串不同:

  • Microsoft 的 ODBC 驱动程序:Driver={Microsoft ODBC for Oracle};...
  • 来自 Oracle 的 ODBC 驱动程序:Driver={Oracle in OraClient11g_home1};...(或类似的)
  • Microsoft 的 OLE DB 提供程序:Provider=MSDAORA;...
  • 来自 Oracle 的 OLE DB 提供程序:Provider=OraOLEDB.Oracle;...

详情请看Oracle Connection Strings or Connection String Home Page

所有这些 drivers/providers 都需要在您的计算机上至少安装一个 Oracle Instant 客户端。如果您的 PowerPoint 是 32 位的,那么 Oracle 客户端和 driver/provider 也必须是 32 位的。如果您的 PowerPoint 是 64 位的,那么所有其他组件也必须是 64 位的 - 您不能混合使用 32 位和 64 位。

Microsoft 提供的 Oracle 驱动程序已弃用多年,它们不适用于 64 位!因此,当您拥有 64 位 Office 时,{Microsoft ODBC for Oracle}MSDAORA 就出局了。