PowerBI 连接 oracle 数据库时 Oracle 客户端使用什么协议?

What Protocol does Oracle client use when connecting PowerBI to oracle database?

我已经在我的服务器上安装了 Oracle 客户端并按照数据库托管商的说明配置了 TNS。 Powerbi 现在可以连接到 Oracle 数据源。

我想清楚地了解 PowerBI 连接到 oracle 源的方法。 例如,我可以通过 ODBC 连接到 oracle,而无需使用 Oracle 客户端。

我想知道 oracle 客户端使用的是什么协议,使用它比 ODBC 有什么好处?

它看起来像 Power BI recommends installing the ODAC runtime for your environment. There is no alternative option. You might be asking why Power BI uses the Oracle ODP drivers instead of the Oracle ODBC driver - I'm pretty sure the answer is that it's faster and supports more Oracle features,因为它不必实现桥接。

如果您对 Oracle Client 或完整的 ODAC 开发人员下载感到沮丧,您可以只安装 ODAC XCopy 运行时,它要小得多。 (32-bit, 64-bit)


为了回答您关于协议的问题,据我所知,每个 客户端都使用Oracle Net component of the proprietary Oracle Net Services 网络堆栈将客户端连接到服务器。

然后客户端通过网络连接发送命令。同样,据我所知,大多数客户端使用低级别 OCI library 来执行此操作。

在 OCI 之上构建了很多不同的客户端:

  • SQL*加号
  • SQL*装载机
  • 数据泵
  • Oracle 即时客户端
  • Oracle 客户端(即 "Thick Client")
  • Oracle JDBC OCI 驱动程序
  • Oracle ODBC 驱动程序和 other drivers for Microsoft products(ODP.NET 非托管,ASP.NET,OLE DB)

有一些例外:

  • Oracle JDBC瘦驱动程序(完全Java代码)
  • Oracle ODP 托管驱动程序(完全是 .NET 代码)

还有一个 Microsoft ODBC driver for Oracle,尽管 Microsoft 明确表示要改用 Oracle 驱动程序。它不支持大多数现代 Oracle 数据功能 ("Unicode data types, BLOBs, CLOBs, and so on")。