Reporting Services no podrá ejecutar informes en bases de datos Oracle

Se aplica a: SQL Server 2016SQL Server 2016 Enterprise CoreSQL Server 2016 Enterprise

Síntomas


Si utiliza Microsoft SQL Server Reporting Services, las suscripciones de Reporting Services no pueda ejecutar los informes en bases de datos Oracle. En este escenario, puede recibir una excepción System.DllNotFoundException .

Además, también puede recibir el siguiente error:

Causa


Este problema se produce porque algunos directorios y los archivos Oracle deben tener opciones de seguridad adicionales para que pueden ejecutar informes en bases de datos de Oracle.

Solución alternativa


Para evitar este problema, agregue permisos para el servicio Reporting Services de cuenta principales a la < OracleHome >\< versión de Oracle >\bin directorio y a la < OracleHome >\< versión de Oracle > directorio \network\admin. Por ejemplo, si la cuenta de servicio de Reporting Services es servicio de red, siga estos pasos:

  1. Busque el directorio \bin Oracle\versión de Oracle, haga clic en el directorio y, a continuación, haga clic en Propiedades.
  2. Haga clic en la ficha seguridad y, a continuación, haga clic en Agregar.
  3. En Escriba los nombres de objeto a seleccionar, escriba servicio de redy, a continuación, haga clic en Aceptar.
  4. En el cuadro nombres de grupos o usuarios , haga clic en Servicio de red.
  5. En permisos de servicio de red, haga clic para activar la casilla de verificación leer y ejecutar .
  6. Haga clic en Opciones avanzadas.
  7. Haga clic en la Permitir permisos heredables del primario se propaguen a este objeto y todos los objetos secundarios. Incluirlas junto con las entradas indicadas aquí de forma explícita cuadro y, a continuación, haga clic en Aceptar.
  8. Haga clic en Aceptar.
  9. Busque el directorio \network\admin Oracle\versión de Oracle, haga clic en el directorio y, a continuación, haga clic en Propiedades.
  10. Repita los pasos 2 a 8.
  11. Haga clic en Inicio, elija Herramientas administrativasy, a continuación, haga clic en Services.
  12. Busque el servicio ReportServer.
  13. Haga clic en el servicio ReportServer y, a continuación, haga clic en Reinicie.

Para Reporting Services 2005, el problema no sólo afecta a la ejecución de las suscripciones a través del servicio de Windows de servicios de informes, sino que también afecta a la ejecución regular de informes mediante el servicio de Web de Reporting Services. Por lo tanto, la cuenta de servicio de Windows de Reporting Services y el servicio Reporting Services de Web debe tener permisos de lectura y ejecución en los directorios de instalación de Oracle desde el procedimiento anterior.Nota: Para comprobar la cuenta configurada para el servicio de Web de Reporting Services, puede abrir el archivo RSReportServer.config. Encontrará la información que es similar al siguiente:

< WebServiceAccount > NT Authority\NetworkService < / WebServiceAccount >

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".