Oracle 数据库

概要

条目 DESCRIPTION
发布状态 一般可用性
产品 胜过
Power BI (语义模型)
Power BI (数据流)
Fabric(Dataflow Gen2)
Power Apps(数据流)
Dynamics 365 Customer Insights
分析服务
支持的身份验证类型 Windows (桌面/联机)
数据库(桌面)
基本(联机)
Microsoft帐户(桌面版)
功能参考文档 Oracle.Database

注释

由于部署计划和主机特定功能的缘故,某些功能可能在一个产品中存在,而在其他产品中不存在。

先决条件

支持的 Oracle 版本:

  • Oracle 数据库服务器 12c (12.1.0.2) 及更高版本
  • Oracle 自治数据库 - 所有版本

在使用 Power Query 连接到 Oracle 数据库之前,需要安装适用于 Microsoft工具的 Oracle 客户端 (OCMT)。 若要使用 本地数据网关连接到 Oracle 数据库,必须在运行网关的计算机上安装 64 位 OCMT。 有关详细信息,请转到 “管理数据源 - Oracle”。

注释

自 2025 年 4 月版 Power BI Desktop 和 2025 年 5 月版本的本地数据网关以来,我们提供了使用内置 Oracle 托管 ODP.NET 驱动程序连接到 Oracle 数据库的新选项,目前以预览版提供。 启用该功能后,无需手动安装 OCMT。 详细了解 此功能

支持的功能

  • 进口
  • DirectQuery (Power BI 语义模型)
  • 高级选项
    • 命令超时(分钟)
    • SQL 语句
    • 包含关系列
    • 使用完整层次结构导航

下载并安装用于 Microsoft 工具的 Oracle 客户端

Oracle客户端为Microsoft工具安装和配置用于.NET的Oracle数据提供程序(ODP.NET),以支持通过32位和64位Microsoft工具与Oracle本地数据库和云数据库(包括Oracle自主数据库(ADB))的连接。 OCMT 是一个图形安装程序,可自动执行 Oracle 数据库客户端安装过程。 它支持使用 Power BI Desktop、Power BI 服务、Fabric(数据流 Gen2)、Excel、SQL Server Analysis Services、SQL Server Data Tools、SQL Server Integration Services、SQL Server Reporting Services 和 BizTalk Server 进行连接。

OCMT 是免费软件。 可以从针对Microsoft工具的Oracle客户端页面下载。 对于 64 位 Power BI Desktop 和 Power BI 服务,请使用 64 位 OCMT。 对于 32 位 Power BI Desktop,请使用 32 位 OCMT。

即使已在 Power BI 客户端上安装 Oracle 客户端或 ODP.NET,也强烈建议使用 OCMT 安装程序正确完成 Power BI 使用 Oracle 数据库所需的所有配置步骤。

从 Power Query Desktop 连接到本地 Oracle 数据库

若要建立连接,请执行以下步骤:

  1. 在连接器选择中选择 Oracle 数据库 选项。

  2. 请指定在 服务器 中连接的 Oracle Net 服务名称、TNS 别名或 Easy Connect(Plus)连接字符串。 Easy Connect 是最简单的使用方式,方法是将 服务器 值设置为 Oracle 数据库服务器 主机名/ServiceName,其中 ServiceName 是全局数据库名称。 以下屏幕截图使用 net 服务名称。

    输入 Oracle 数据库连接。

  3. 如果要从 Power BI Desktop 进行连接,请选择 “导入 ”或 “DirectQuery 数据连接”模式。 这些示例步骤的其余部分使用导入数据连接模式。 若要了解有关 DirectQuery 的详细信息,请转到 Power BI Desktop 中的“使用 DirectQuery”。

  4. 如果首次连接到此 Oracle 数据库,请选择要使用的身份验证类型,然后输入凭据。 可用的身份验证类型包括:

    • Windows (Windows 身份验证)
    • 数据库(用户名和密码)
    • Microsoft帐户(Microsoft Entra ID)

    有关身份验证的详细信息,请转到 使用数据源进行身份验证

    输入 Oracle 数据库凭据。

  5. 导航器中,选择所需的数据,然后选择 “加载 ”以加载数据或 转换数据 以转换数据。

从 Power Query Online 连接到本地 Oracle 数据库

若要建立连接,请执行以下步骤:

  1. 安装和设置本地数据网关

  2. 在 Power Query Online 中,选择数据源选择中的 Oracle 数据库 选项。

  3. 在出现的 Oracle Database 对话框中,指定要在“服务器”中连接到的 Oracle net 服务名称/TNS 别名、Easy Connect Plus 连接字符串或连接描述符。

    输入 Oracle 数据库联机连接。

  4. 提供 连接名称,例如“testoracleserver”。

  5. 选择本地数据网关的名称。

    注释

    必须为此连接器选择本地数据网关,无论是 Oracle 数据库位于本地网络还是网站上。

  6. 如果首次连接到此 Oracle 数据库,请在 身份验证类型中选择连接的凭据类型。 如果打算使用 Oracle 用户名和密码登录,请选择 “基本 ”。 在使用 Windows 作为操作系统进行身份验证,并且 Oracle 客户端和服务器均在 Windows 上运行时,请选择 Windows

  7. 输入凭据。

  8. 选择“下一步”继续操作。

  9. “导航器”中选择所需的数据,然后选择“转换数据”以在 Power Query 编辑器中转换数据。

连接到 Oracle 自治数据库

注释

目前,可以使用本节中的过程从 Excel、Power BI Desktop、Power BI Service、Fabric(Dataflow Gen2)、Power Apps、SQL Server Analysis Services 和 BizTalk Server 连接到 Oracle 自治数据库。 这些工具使用非托管 ODP.NET 进行连接。 其他Microsoft工具(包括 SQL Server Data Tools、SQL Server Integration Services 和 SQL Server Reporting Services)使用托管 ODP.NET 通过大致类似的过程连接到 Oracle 自治数据库。

若要将 Power BI 连接到 Oracle 自治数据库,需要以下帐户和应用:

下载您的客户端凭证

设置与 Oracle 自治数据库的连接的第一步是下载客户端凭据。

若要下载客户端凭据,请执行以下操作:

  1. 在 Oracle 自治数据库详细信息页中,选择 “数据库连接”。

    数据库连接。

  2. “数据库连接 ”页中,选择“ 下载电子钱包”。

    下载钱包。

  3. 输入要用于此钱包的密码,确认密码,然后选择“ 下载”。

    电子钱包密码。

配置 Oracle ADB 凭据

  1. 在 Windows 计算机上,转到通过“下载客户端凭据”下载 Oracle ADB 凭据的文件夹。

  2. 将凭据解压缩到您在 OCMT 中指定的 Oracle 配置文件目录。 在此示例中,凭据将提取到 c:\data\wallet\wallet_contosomart。

    图像显示了在电子钱包文件夹中解压缩的电子钱包文件。

    注释

    tnsnames.ora 文件定义 Oracle 自治数据库地址和连接信息。

  3. 在编辑器(如记事本)中打开 sqlnet.ora。

  4. “WALLET_LOCATION”下,在“目录”选项下更改钱包文件夹的路径。 在本示例中:

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY=c:\data\wallet\Wallet_ContosoMart)))

  5. 保存并关闭 sqlnet.ora 文件。

打开钱包文件夹中的 tnsnames.ora 文件。 该文件包含可连接到的 ADB 网络服务名称的列表。 在此示例中,这些名称是 contosomart_high、contosomart_low 和 contosomart_medium。 您的 ADB 网络服务名称不同。

图像中包含三个示例 TNS 名称:contosomart_high、contosomart_low 和 contosomart_medium。

将 Power BI Desktop 连接到 Oracle ADB

  1. 打开 Power BI Desktop。

  2. 选择“ 获取数据”。

  3. “获取数据”中选择 “数据库>Oracle 数据库”。

  4. 输入要连接到的 Oracle 自治数据库服务器的 net 服务名称。 在此示例中,服务器是 contosomart_high。 然后选择“ 确定”。

    显示 Oracle 数据库对话框的图像,其中服务器名称为 contosomart_high,并选择了导入模式。

  5. 如果首次从 Power BI Desktop 登录到此服务器,系统会要求输入凭据。 选择 “数据库”,然后输入 Oracle 数据库的用户名和密码。 您在此处输入的凭据是您要连接的特定 Oracle 自治数据库的用户名和密码。 在此示例中,将使用数据库的初始管理员用户名和密码。 然后选择 “连接”。

    “凭据”对话框的图像,其中选择了“数据库”,并输入了默认数据库用户名和密码。

    注释

    可以使用 Microsoft Entra ID 身份验证通过 Microsoft 帐户 选项登录到 Oracle 自治数据库。

此时,导航器出现并显示连接数据。

图像显示了打开的导航器,并显示了 contosomart_high 数据库及其所有内容

还可能会遇到多个错误之一,因为配置尚未正确设置。 故障排除中讨论了这些错误。

此初始测试中可能发生的一个错误发生在 Navigator 中,其中数据库似乎已连接,但不包含任何数据。 相反,此时会出现“Oracle:ORA-28759:无法打开文件”错误,而不是显示数据。

图像显示了顶部为数据库名称的导航器,但显示了一个错误而不是数据。

如果发生此错误,请确保在 sqlnet.ora 中提供的钱包文件夹路径是钱包文件夹的完整正确路径。

配置网关

  1. 安装和设置本地数据网关

  2. 在 Power BI 服务中,选择右上角的齿轮图标,然后选择“ 管理网关”。

    图像显示了打开的 Power BI 服务,已选择的齿轮图标,以及“管理网关”菜单,其中突出显示了“管理网关”。

  3. “添加数据源”中,选择 “添加数据源”以使用网关

    Power BI 服务中“添加数据源”窗口的图像,突出显示“添加数据源以使用网关”选项。

  4. 数据源名称中,输入要用作数据源设置的名称。

  5. “数据源类型”中,选择 “Oracle”。

  6. “服务器”中,输入要连接到的 Oracle 自治数据库服务器的净服务名称。

  7. 身份验证方法中,选择“ 基本”。

  8. 输入 Oracle 自治数据库的用户名和密码。 在此示例中,使用默认数据库管理员用户名(ADMIN)和密码。

  9. 选择 “添加”。

    “数据源设置”窗口的图像,其中填充了所有数据源设置。

如果已正确安装并配置所有内容,将显示 连接成功 消息。 现在,您可以使用在 Power Query Online 连接到本地 Oracle 数据库 中描述的相同步骤连接到 Oracle 自治数据库。

使用高级选项进行连接

Power Query Desktop 和 Power Query Online 提供了一组高级选项,可根据需要添加到查询。

下表列出了可在 Power Query Desktop 和 Power Query Online 中设置的所有高级选项。

高级选项 DESCRIPTION
命令超时(分钟) 如果连接持续时间超过 10 分钟(默认超时),则可以输入另一个值(以分钟为单位),使连接保持打开时间更长。 此选项仅在 Power Query Desktop 中可用。
SQL 语句 详情请参阅 使用本机数据库查询从数据库导入数据
包含关系列 如果选中,则包含可能与其他表格有关系的列。 如果清除此框,则不会显示这些列。
使用完整层次结构导航 如果选中,导航器会显示你连接到的数据库中表的完整层次结构。 如果清空,导航器仅显示那些列和行中包含数据的表格。

选择所需的高级选项后,请在 Power Query Desktop 或 Power Query Online 的下一步中选择“确定”以连接到 Oracle 数据库。

使用内置的 Oracle 驱动程序(预览版)

从 2025 年 4 月版 Power BI Desktop 和 2025 年 5 月版本的本地数据网关开始,Oracle 连接器包括用于连接的内置 Oracle 托管 ODP.NET 驱动程序。 此功能消除了用户安装和管理驱动程序的必要性。 可以按照下面提供的说明启用此功能。

若要在 Power BI Desktop 中使用此内置驱动程序,请导航到 “选项”和“设置” (在“ 文件 ”选项卡下) >选项>预览功能,然后选择复选框以启用“ 使用捆绑的 Oracle 托管 ODP 提供程序 ”选项启用。

屏幕截图显示了在 Power BI Desktop 中使用捆绑的 Oracle 托管 ODP 提供程序启用的选项。

若要在本地数据网关中使用此内置驱动程序,请使用以下步骤更改网关配置以更新 MashupFlight_EnableOracleBundledOdacProvider 设置:

  1. 在安装本地数据网关的本地计算机上,导航到 C:\Program Files\On-premises data gateway
  2. 对名为 Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config 的配置文件进行备份。
  3. 打开原始 Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config 配置文件并找到 MashupFlight_EnableOracleBundledOdacProvider 条目。
  4. MashupFlight_EnableOracleBundledOdacProvider 值更新为 True.
  5. 重启网关。
<Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayCoreSettings>
   ...
   <setting name="MashupFlight_EnableOracleBundledOdacProvider" serializeAs="String">
      <value>True</value>
   </setting>
   ...
</Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayCoreSettings>    

从 Power Query Desktop 连接到 Oracle 数据库的其余配置与上一节中所述的配置相同。

已知问题和限制

在将语义模型刷新到该 Oracle 数据库后,Power BI 会话仍可在 Oracle 数据库上处于活动状态大约 30 分钟。 仅在大约 30 分钟后,这些会话才会在 Oracle 数据库上变为非活动/删除状态。 此行为是设计造成的。

故障排除

如果命名语法不正确或未正确配置,可能会遇到 Oracle 中出现以下任一错误:

  • ORA-12154:TNS:无法解析指定的连接标识符。
  • ORA-12514:TNS:侦听器目前不知道连接描述符所需的服务。
  • ORA-12541:TNS:无侦听器。
  • ORA-12170:TNS:发生连接超时。
  • ORA-12504:TNS:未向侦听器提供 CONNECT_DATA 中的 SERVICE_NAME。

如果 Oracle tnsnames.ora 数据库连接描述符配置错误,提供的 Net 服务名称拼写错误,或者 Oracle 数据库侦听器未运行或无法访问,例如阻止侦听器或数据库端口的防火墙,则可能会出现这些错误。 请确保满足最低安装先决条件。 详细信息: 先决条件

请访问 Oracle 数据库错误帮助门户 ,查看遇到的特定 Oracle 错误的常见原因和解决方法。 在门户搜索栏中输入 Oracle 错误代码。

如果从 Microsoft 应用商店下载了 Power BI Desktop,则由于 Oracle 驱动程序问题,可能无法连接到 Oracle 数据库。 如果遇到此问题,则返回的错误消息是: 未设置对象引用。 若要解决此问题,请执行以下作:

  • 从下载中心下载 Power BI Desktop,而不是Microsoft应用商店。

如果使用本地数据网关连接到 Oracle 数据库时出现对象引用未设置错误消息,请按照管理数据源 - Oracle中的说明进行操作。

如果使用 Power BI 报表服务器,请参阅 Oracle 连接类型 文章中的指南。

后续步骤

在扩展表列时优化 Power Query 的性能