【发布时间】:2019-06-21 07:54:13
【问题描述】:
我已经在我的服务器上安装了 Oracle 客户端并按照数据库托管商的说明配置了 TNS。 Powerbi 现在可以连接到 Oracle 数据源。
我想清楚 PowerBI 连接到 oracle 源的方法。 例如,我可以通过 ODBC 连接到 oracle,而无需使用 Oracle 客户端。
我想知道 oracle 客户端使用的是什么协议,以及使用它而不是 ODBC 有什么好处?
【问题讨论】:
我已经在我的服务器上安装了 Oracle 客户端并按照数据库托管商的说明配置了 TNS。 Powerbi 现在可以连接到 Oracle 数据源。
我想清楚 PowerBI 连接到 oracle 源的方法。 例如,我可以通过 ODBC 连接到 oracle,而无需使用 Oracle 客户端。
我想知道 oracle 客户端使用的是什么协议,以及使用它而不是 ODBC 有什么好处?
【问题讨论】:
看起来像Power BI recommends installing the ODAC runtime for your environment。没有其他选择。您可能会问为什么 Power BI 使用 Oracle ODP 驱动程序而不是 Oracle ODBC 驱动程序 - 我很确定答案是 it's faster and supports more Oracle features,因为它不必实现桥接。
如果您对大容量的 Oracle 客户端或完整的 ODAC 开发人员下载感到沮丧,您也许可以只安装更小的 ODAC XCopy 运行时。 (32-bit, 64-bit)
为了回答您关于协议的问题,据我所知,每个客户端都使用专有Oracle Net Services 网络堆栈的Oracle Net 组件将客户端连接到服务器。
然后客户端通过网络连接发送命令。同样,据我所知,大多数客户使用低级别的OCI library 来执行此操作。
在 OCI 之上构建了许多不同的客户端:
有一些例外:
还有一个Microsoft ODBC driver for Oracle,尽管微软明确表示要使用 Oracle 驱动程序。它不支持大多数现代 Oracle 数据特性(“Unicode 数据类型、BLOB、CLOB 等”)。
【讨论】: