asp.net - rsweb - sql reporting services vb net
Uso de SSRS con ASP.Net ReportViewer (2)
Siempre es un reto depurar problemas de autenticación de forma remota, pero es posible que pueda resolver su problema habilitando la suplantación en su AppPool. De esta forma, cuando un usuario inicie sesión, IIS podrá conectarse a SQL Server como su usuario.
Otro enfoque podría ser usar Autenticación SQL; desafortunadamente, los detalles dependen de cómo tienes las cosas conectadas.
Configuré SSRS en mi servidor local y usé BIDS para crear un par de informes sobre ellos. Acceden a los datos del mismo servidor SQL donde se implementa el SSRS, y cuando los obtengo de antemano, funcionan bien. Luego los implementé en mi servidor local SSRS y accedí a ellos a través de la interfaz web de ReportManager. De nuevo funcionaron muy bien. Finalmente, los implementé en el SSRS de mi proveedor de hosting. El mismo trato; buena conectividad de datos y se ve muy bien en el ReportManager.
La primera vez que accedo a ellos a través del ReportManager en cualquiera de los sistemas, exige mi nombre de usuario y contraseña, que en mi computadora portátil es solo el inicio de mi cuenta y mi contraseña. Para mi proveedor de hosting es el inicio de mi cuenta para ellos.
Mi problema es cuando trato de mostrar un informe usando el control ReportViewer en ASP.Net. Muy a menudo, cuando intenta renderizar, obtengo un "Inicio de sesión incorrecto" o "401: no autorizado" en lugar de mi informe. Después de mucha lectura y reflexión, creo que el problema es que debo iniciar sesión no en el servidor SQL, sino en el sitio web (servicio web?) Donde están expuestos mis informes. En este momento, si no proporciono ninguna credencial, puedo obtener mis informes locales en ReportViewer (generalmente). Sin embargo, cuando despliegue los informes en un servidor remoto, esto ya no funciona.
Después de algunas investigaciones, creé una clase que implementa IReportServerCredentials y traté de usarla para pasar el nombre de usuario y la contraseña, pero parece que esto no funciona. Y me estaba confundiendo si se suponía que estas credenciales fueran para la fuente de datos o para el servicio web.
Si alguien puede darme una pista sobre cómo hacer que ReportViewer inicie sesión en el servicio web de SSRS, lo apreciaría mucho.
Suponiendo que haya configurado ProcessingMode = "Remote" attirbute en el visor, entonces probablemente tenga un problema de autenticación. Al usar el visor de informes en modo remoto, el informe se ejecuta en SSRS mediante la cuenta en la que se ejecuta ASP.Net. Esta cuenta debe tener acceso al servidor de informes y al informe que desea ejecutar. Lo que probablemente está sucediendo es que ASP.Net se está ejecutando bajo una cuenta que no tiene acceso a SSRS.
Si desea poder establecer las credenciales para el visor de informes, eche un vistazo a este hilo para obtener una solución y un código de muestra.