使用 SSRS 和 Power BI 报表服务器设置 Oracle 连接类型

适用于: SQL Server 2016 (13.x) Reporting Services 及更高版本 Power BI Report Builder Power BI 报表服务器

如果要在报表中使用来自 Oracle Database 的数据,必须拥有一个基于 Oracle 类型的报表数据源的数据集。 此内置数据源类型直接使用 Oracle Data Provider,并且需要 Oracle 客户端软件组件。 本文介绍如何下载和安装 Reporting Services、Power BI 报表服务器、报表生成器和 Power BI Desktop 的驱动程序。

使用本文中的信息来生成一个数据源。 有关分步说明,请参阅添加和验证数据连接(报表生成器和 SSRS)

重要

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

用于报表服务器的 64 位驱动程序

在 Oracle 下载网站上,安装 Oracle 64 位 ODAC Oracle Universal Installer (OUI)。 使用 Oracle Data Access Components (ODAC) 驱动程序 12.2 和更高版本时,只需执行以下步骤。 否则它们默认安装到新 Oracle 主安装的非计算机范围配置中。

先决条件:将 ODAC 18.x 文件安装到 c:\oracle64 文件夹。

分页 (RDL) 报表使用托管的 ODP.NET

Power BI 报表服务器和 SQL Server Reporting Services 2016 和更高版本都对分页 (RDL) 报表使用 Managed ODP.NET。

注册托管的 ODP.NET:

  1. 将 ODP.NET 托管客户端注册到全局程序集缓存 (GAC):

    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
    
  2. 将 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
    

Power BI 报表使用非管理的 ODP.NET

Power BI 报表服务器对 Power BI 报表使用非托管的 ODP.NET。

注册非管理的 ODP.NET:

  1. 向 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\bin\4\Oracle.DataAccess.dll
    
  2. 将 ODP.NET 非管理的客户端条目添加到 machine.config:

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

适用于 Microsoft Report Builder 的 32 位驱动程序

Microsoft Report Builder 使用“托管的 ODP.NET”来编写分页 (RDL) 报表。 使用 Oracle ODAC 驱动程序 12.2 和更高版本时,只需执行以下步骤。 否则它们默认安装到新 Oracle 主安装的非计算机范围配置中。

先决条件:将 ODAC 18.x 文件安装到安装 Microsoft 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 之前的版本,请按照“适用于 Microsoft Report Builder 的 32 位驱动程序”说明操作。

Power BI Report Builder 使用“托管的 ODP.NET”来编写分页 (RDL) 报表。 使用 Oracle ODAC 驱动程序 12.2 和更高版本时,只需执行以下步骤。 否则它们默认安装到新 Oracle 主安装的非计算机范围配置中。

先决条件:将 ODAC 18.x 文件安装到安装 Power BI Report Builder 的 c:\oracle64 文件夹中。

注册托管的 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
    

用于 Power BI Desktop 的 64 位和 32 位驱动程序

Power BI Desktop 使用非托管的 ODP.NET 编写 Power BI 报表。 使用 Oracle ODAC 驱动程序 12.2 和更高版本时,只需执行以下步骤。 否则它们默认安装到新 Oracle 主安装的非计算机范围配置中。

先决条件:将 ODAC 18.x 文件安装到 64 位 Power BI Desktop 的 c:\oracle64 文件夹或 32 位 Power BI Desktop 的 c:\oracle32 文件夹中。

注册非管理的 ODP.NET:

64 位 Power BI Desktop

  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\bin\4\Oracle.DataAccess.dll
    
  3. 将 ODP.NET 非管理的客户端条目添加到 machine.config:

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

32 位 Power BI Desktop

  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\bin\4\Oracle.DataAccess.dll
    
  3. 将 ODP.NET 非管理的客户端条目添加到 machine.config:

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

连接字符串

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

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

有关更多连接字符串的示例,请参阅在报表生成器中创建数据连接字符串

凭据

执行以下操作时需要提供凭证:运行查询、本地预览报表以及从报表服务器预览报表。

报表发布后,可能需要更改数据源凭证,以便报表在报表服务器上运行时,用于检索数据的权限有效。

有关更多信息,请参阅为报表数据源指定凭证和连接信息

查询

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

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

参数

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

报表参数是用可能需要修改的默认属性值创建的。 例如,每个报表参数的数据类型均为 Text。 创建报表参数后,您可能需要更改默认值。 有关详细信息,请参阅报表生成器中的分页报表参数

注解

在可以连接 Oracle 数据源之前,系统管理员必须安装支持从 Oracle Database 中检索数据的 .NET Data Provider for Oracle 版本。 数据提供程序必须与报表生成器安装在同一台计算机上,报表服务器上也是如此。

有关详细信息,请参阅以下文章:

备用数据扩展插件

可以使用 OLE DB 数据源类型从 Oracle Database 中检索数据。 有关详细信息,请参阅 OLE DB 连接类型 (SSRS)

报表模型

可以创建基于 Oracle Database 的模型。

平台和版本信息

有关平台和版本支持的详细信息,请参阅 Reporting Services 支持的数据源 (SSRS)