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:
在 Oracle 下载站点上,安装 Oracle“ODAC with Oracle Developer Tools for Visual Studio - OUI”(32 位)。
向 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
将 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:
在 Oracle 下载网站上,安装 Oracle 64 位 ODAC Oracle Universal Installer (OUI)。
向 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
将 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 或更高版本,解决方法是将查询类型设置为文本并以内联方式调用存储过程,如以下示例所示。
DECLARE OUT_RPT_DATA SYS_REFCURSOR;
BEGIN
SYSTEM.<Procedure_Name>(OUT_RPT_DATA);
DBMS_SQL.RETURN_RESULT(OUT_RPT_DATA);
END;
平台和版本信息
有关平台和版本支持的详细信息,请参阅 Power BI 分页报表支持的数据源。