Oracle 连接类型 (Power BI Report Builder)

适用于: Power BI Report Builder Power BI Desktop

若要在报表中使用来自 Oracle 数据库的数据,你必须拥有一个基于 Oracle 类型的报表数据源的数据集。 此内置数据源类型直接使用 Oracle Data Provider,并且需要 Oracle 客户端软件组件。 本文介绍如何下载和安装 Power BI Report Builder 的驱动程序。

重要

以下命令使用 Oracle 的 OraProvCfg.exe 工具注册 Oracle 的托管和非托管 ODP.NET 驱动程序,在此作为示例展示如何与上述 Microsoft 产品一起使用。 若要配置特定于环境的 ODP.NET 驱动程序,可能需要联系 Oracle 支持团队或参考 Oracle 文档以配置用于 .NET 的 Oracle 数据提供程序

Power BI Report Builder 的 32 位驱动程序

Power BI Report Builder 使用“托管的 ODP.NET”来编写分页 (RDL) 报表。 使用 Oracle ODAC 驱动程序 12.2 和更高版本时,只需执行以下步骤。 否则它们默认安装到新 Oracle 主安装的非计算机范围配置中。 这些步骤假定你已将 ODAC 18.x 文件安装到 Power BI Report Builder 安装所在的 C:\oracle32 文件夹中。 请按照以下步骤注册托管的 ODP.NET:

  1. 在 Oracle 下载站点上,安装 Oracle“ODAC with Oracle Developer Tools for Visual Studio - OUI”(32 位)

  2. 向 GAC 注册 ODP.NET 托管客户端:

    C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:gac /providerpath:C:\oracle32\product\18.0.0\client_1\odp.net\managed\common\Oracle.ManagedDataAccess.dll
    
  3. 将 ODP.NET 托管客户端条目添加到 machine.config:

    C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:config /force /product:odpm /frameworkversion:v4.0.30319 /providerpath:C:\oracle32\product\18.0.0\client_1\odp.net\managed\common\Oracle.ManagedDataAccess.dll
    

适用于 Power BI Report Builder 的 64 位驱动程序

注意

以下说明适用于 Power BI Report Builder 15.7.01678.0001 及更高版本。 对于 15.7.01678.0001 之前的版本,请按照上面的“Power BI Report Builder 的 32 位驱动程序”中的说明操作

Power BI Report Builder 使用“托管的 ODP.NET”来编写分页 (RDL) 报表。 使用 Oracle ODAC 驱动程序 12.2 和更高版本时,只需执行以下步骤。 否则它们默认安装到新 Oracle 主安装的非计算机范围配置中。 以下步骤假设已将 ODAC 18.x 文件安装到 c:\oracle64 文件夹(Power BI Report Builder 就安装在此处)。 请按照以下步骤注册托管的 ODP.NET:

  1. 在 Oracle 下载网站上,安装 Oracle 64 位 ODAC Oracle Universal Installer (OUI)

  2. 向 GAC 注册 ODP.NET 托管客户端:

    C:\oracle64\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:gac /providerpath:C:\oracle64\product\18.0.0\client_1\odp.net\managed\common\Oracle.ManagedDataAccess.dll
    
  3. 将 ODP.NET 托管客户端条目添加到 machine.config:

    C:\oracle64\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:config /force /product:odpm /frameworkversion:v4.0.30319 /providerpath:C:\oracle64\product\18.0.0\client_1\odp.net\managed\common\Oracle.ManagedDataAccess.dll
    

连接字符串

请联系数据库管理员,获取连接信息以及用于连接到数据源的凭据。 下面的连接字符串示例指定使用 Unicode 的名为“Oracle18”的服务器上的 Oracle 数据库。 服务器名称必须与 Tnsnames.ora 配置文件中定义的 Oracle 服务器实例名相匹配。

Data Source="Oracle18"; Unicode="True"  

有关更多连接字符串的示例,请参阅创建数据连接字符串 - Power BI Report Builder

凭据

必须提供凭据才能运行查询、在本地预览报表以及在 Power BI Web 门户上预览报表。

发布报表后,可能需要将其绑定到 Power BI 网关连接。 有关详细信息,请参阅管理数据源 - Oracle

查询

若要创建数据集,可以从下拉列表中选择存储过程,也可以创建一个 SQL 查询。 若要生成一个查询,必须使用基于文本的查询设计器。 有关详细信息,请参阅基于文本的查询设计器用户界面 (Power BI Report Builder)

可以指定只返回一个结果集的存储过程。 不支持使用基于游标的查询。

参数

如果查询包括查询变量,则将自动生成对应的报表参数。 此扩展插件支持命名参数。 对于 Oracle 版本 9 或更高版本,支持多值参数。

报表参数是用可能需要修改的默认属性值创建的。 例如,每个报表参数的数据类型均为 Text。 创建报表参数后,您可能需要更改默认值。

注意事项和限制

在可以连接 Oracle 数据源之前,系统管理员必须已安装支持从 Oracle 数据库中检索数据的 .NET Data Provider for Oracle 版本。 此数据提供程序必须安装在与 Power BI Report Builder 和托管 Power BI 网关的计算机相同的计算机上。 有关详细信息,请参阅管理数据源 - Oracle

有关调用存储过程的解决方法

使用 Oracle 数据源时,如果分页报表的查询类型设置为“存储过程”,则会由于 Power BI 网关限制而无法在 Power BI 服务中执行该操作。 如果使用的是 Oracle 12 或更高版本,解决方法是将查询类型设置为文本并以内联方式调用存储过程,如以下示例所示。

Screenshot of the Dataset properties dialog.

DECLARE OUT_RPT_DATA SYS_REFCURSOR;
BEGIN
   SYSTEM.<Procedure_Name>(OUT_RPT_DATA);
   DBMS_SQL.RETURN_RESULT(OUT_RPT_DATA);
END;

平台和版本信息

有关平台和版本支持的详细信息,请参阅 Power BI 分页报表支持的数据源