Oracle 数据库

总结

项目 说明
发布状态 正式版
产品 Excel
Power BI(语义模型)
Power BI(数据流)
Fabric(数据流 Gen2)
Power Apps(数据流)
Dynamics 365 Customer Insights
Analysis Services
支持的身份验证类型 Windows(桌面/联机)
数据库(桌面)
基本(联机)
Microsoft 帐户(桌面)
函数参考文档 Oracle.Database

注意

由于部署计划和特定于主机的功能,某些功能可能只存在于一个产品中。

先决条件

支持的 Oracle 版本:

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

在使用 Power Query 连接到 Oracle 数据库之前,需要安装适用于 Microsoft 工具的 Oracle 客户端 (OCMT)。

要使用本地数据网关连接到 Oracle 数据库,必须在运行此网关的计算机上安装 64 位 OCMT。 有关详细信息,请参阅管理数据源 - Oracle

支持的功能

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

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

适用于 Microsoft 工具的 Oracle 客户端将安装并配置用于 .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 网络服务名称/TNS 别名或轻松连接 (Plus) 连接字符串以连接到服务器。 通过将服务器值设置为 Oracle 数据库服务器主机名/ServiceName(其中 ServiceName 是全局数据库名称),轻松连接使用起来最简单。 以下屏幕截图使用网络服务名称。

    输入 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 数据库对话框中,指定 Oracle net 服务名称/TNS 别名、轻松连接 Plus 连接字符串,或连接描述符以连接到服务器

    输入 Oracle 数据库在线连接。

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

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

    注意

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

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

  7. 输入凭据。

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

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

连接到 Oracle 自治数据库

注意

目前,可以使用本节中的过程从 Excel、Power BI Desktop、Power BI 服务、Fabric(数据流 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 自治数据库详细信息页面中,选择 DB 连接

    DB 连接。

  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 自治数据库服务器的网络服务名称。 在此示例中,服务器为 contosomart_high。 然后选择“确定”。

    选中 contosomart_high 作为服务器名称和导入模式的 Oracle 数据库对话框的图像。

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

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

    注意

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

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

打开导航器并显示 contosomart_high 数据库及其所有项目的图像

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

在此初始测试中可能发生的一个错误出现在导航器中,即数据库似乎已连接,但未包含任何数据。 相反,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 中设置的所有高级选项。

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

选择所需的高级选项后,在 Power Query Desktop 中选择确定,或在 Power Query Online 中选择下一步,以连接到 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 数据库连接描述符配置错误、提供的网络服务名称拼写错误或者 Oracle 数据库侦听器未运行或无法访问(例如防火墙阻止侦听器或数据库端口),则可能会出现这些错误。 请确保满足最低安装先决条件。 详细信息:先决条件

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

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

  • 从下载中心而不是 Microsoft Store 下载 Power BI Desktop。

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

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

后续步骤

扩展表列时优化 Power Query