Reporting Services cannot run reports against Oracle databases

Applies to: SQL Server 2016SQL Server 2016 Enterprise CoreSQL Server 2016 Enterprise

Symptoms


If you use Microsoft SQL Server Reporting Services, Reporting Services subscriptions may be unable to run any reports against Oracle databases. In this scenario, you may receive a System.DllNotFoundException exception.

Additionally, you may also receive the following error:

Cause


This problem occurs because some Oracle files and directories must have additional security settings so that reports can run against Oracle databases.

Workaround


To work around this problem, add permissions for the Reporting Services service account principal to the <OracleHome>\<Oracle version>\bin directory and to the <OracleHome>\<Oracle version>\network\admin directory. For example, if the Reporting Services service account is NETWORK SERVICE, follow these steps:

  1. Locate the Oracle\Oracle version\bin directory, right-click the directory, and then click
    Properties.
  2. Click the Security tab, and then click Add.
  3. Under Enter object names to select, type network service, and then click Ok.
  4. In the Group or user names box, click NETWORK SERVICE.
  5. Under Permissions for Network Service, click to select the Read & Execute check box.
  6. Click Advanced.
  7. Click the Allow inheritable permissions from the parent to propagate to this object and all child objects. Include these with the entries explicitly defined here box, and then click Ok.
  8. Click Ok.
  9. Locate the Oracle\Oracle version\network\admin directory, right-click the directory, and then click Properties.
  10. Repeat steps 2 through 8.
  11. Click Start, point to Administrative Tools, and then click Services.
  12. Locate the ReportServer service.
  13. Right-click the ReportServer service, and then click Restart.

For Reporting Services 2005, the issue not only affects the execution of subscriptions through the Reporting Services Windows Service, but also affects the regular execution of reports through the Reporting Services Web Service. Therefore, the account for the Reporting Services Windows Service and the Reporting Services Web Service must have read & execute permissions on the Oracle installation directories from the previous procedure.

Note To verify the configured account for the Reporting Services Web Service, you can open the RSReportServer.config file. You will find informaiton that is similar to the following:

<WebServiceAccount>NT Authority\NetworkService</WebServiceAccount>

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.