none
Error Reportes Personalizados usando conector de Reporting Services RRS feed

  • Pregunta

  • Buenas tardes, la situacion es la siguiente:  Tengo instalado y configurado el conector de reporting services en un servidor de desarrollo, hemos creados unos reportes que apuntan a una base de datos diferente dentro de la misma instancia de la implementacion del crm, pero que se ejecutaran sobre crm 4.0. estos ya se encuentran visibles dentro de la seccion informes del crm, pero al ejecutarlos el sistema arroja un error. este mismo esquema esta configurado en un servidor que no tiene instalado el conector de reporting services y los mismos reportes funcionan si problema, por lo que creemos que el problema se debe a esta configuracion. si alguien sabe como debo configurar el reporte o que modificacion debo hacer sobre la configuracion del mismo o del sistema, me lo hagan saber por favor, les agradezco de antemano su colaboracion.

    La arquitectura de la implementacon que presenta el error es la siguiente:

    CRM, Reporting Services y el Conector de Reporting Services instalado en el servidor 1.

    El Servidor de base de datos esta instalado en el servidor 2.

    Estan instalados los rollups hasta el No 10.

    Todos son servidores Windows Server 2003 y Microsoft SQL 2005.

    La base de datos que se usa para los reportes esta dentro de la misma isntancia de la del CRM pero no es la misma de la implementacion.

    Gracias de antemano.

    Said.

     

    viernes, 8 de octubre de 2010 22:34

Respuestas

  • Hola Giovanny.

     

    Claro que se puede, pero debes de tener en cuenta los permisos a los usuarios. Es decir, la base de datos de CRM ya esta cubierta, me explico;

    Cuando se crea un usuario , ese usuario pasa a ser miembro de los grupos que CRM crea. Y si no recuerdo mal, son dos de ellos que están en la BBDD.

    Pero que pasa cuando se consulta a otra BBDD que no sea la del CRM, puedes debes de cuidar que el usuario que se conecta a la otra base de datos, tenga los permisos solicitados.

    Si en la otra bbdd el usuario solo va a leer, pues solo dale permisos de lectura Y/O escritura según sea el caso. Yo personalmente, le daría permisos al grupo.  Estoy casi 100% seguro, que  ese es tu problema.  Es decir, entra al SQL, anda a tu BBDD/Seguridad agrega el Grupo de Sql que CRM crea y a ese grupo dale permisos administrativos (solo para probar), Luego que cualquier usuario del CRM ejecute el Report.

    Ya nos contaras como te va !!!

     

    Salu2

     

    Atilin

     

    • Propuesto como respuesta Atilio martes, 12 de octubre de 2010 8:50
    • Marcado como respuesta Jimmy LarrauriModerator viernes, 19 de noviembre de 2010 16:41
    martes, 12 de octubre de 2010 8:50

Todas las respuestas

  • Giovanni,

    Consulta, ¿Has tratado de revisar el datasource al cual se conecta el reporte personalizado una vez que lo has agregado al Dynamics CRM 4.0?

    Te aconsejo que revises si el informe primero corre sin problemas, ejecutándolo desde el servidor de informes http://myserver/reports

    Si es que funciona bien, ahora el siguiente paso es revisar el reporte pero ya publicado dentro de la carpeta de reportes de microsoft dynamics crm server, revisa bien si esta apuntando al origen de datos indicado y no al de CRM, para esto entra al http://myserver/reporserver , ubica la carpeta de reportes que contienen todos los informes de la instancia de CRM y selecciona a tu reporte personalizado, prueba su funcionamiento y si sale un error, cerciorate que este apuntando al data source correcto.

    Por favor comentanos como te fue, despues de hacer estos pasos.

     

     


    Jimmy Larrauri | http://jimmylarrauri.blogspot.com
    sábado, 9 de octubre de 2010 3:20
    Moderador
  •  

    Jimmy muchas gracias por tu respuesta, de comento que Efectivamente el reporte se ejecuta sin problema desde el servidor de reportes pero no desde el crm, el inconveniente radica en que el data connector configura la conexion apuntando a la base de datos del crm y estos reportes que menciono, apuntan a otra base de datos pero que se encuentra dentro de la misma instancia del crm, es decir que tiene un data source diferente al que se configura con los reportes del crm. Como lo decia anteriormente en el servidor de desarrollo funciona sin problemas ya que no tengo instalado el connector alli.

    Saludos,.

    Giovanny

     


    Giovanny Salazar
    sábado, 9 de octubre de 2010 3:42
  • Hola Giovanny,

    Muchas gracias por tu respuesta,

    Entiendo que has detectado el problema y es el datasource, ahora dejame comentarte lo siguiente:

    Puedes entrar al administrador de reportes del Reporting Services y cambia la configuración del data source para ese reporte, para esto ubica la carpeta de reportes correspondientes a la organización del Microsoft DYnamics CRM, selecciona uno de estos reportes personalizados y entra a las propiedades de configuración, en él manualmente has que apunte al data source correcto, en caso no hayas creado un data source, te sugiero crees uno comaprtido porque por lo que entendi tienes mas de 1 reporte personalizado.

    Por favor comentanos como te fue.

     


    Jimmy Larrauri | http://jimmylarrauri.blogspot.com
    sábado, 9 de octubre de 2010 5:14
    Moderador
  • Jimmy buenas tardes, te comento que he realizado todo lo que me indicaste y el problema continua, siguiendo tu recomendaciones, cree dos data sources uno dentro de la carpeta de la organizacion conn tipo de conexion Microsoft SQL Server y que apunta a Data Source=dbyo1\crm;Initial Catalog=Temporal;Integrated Security=SSPI y otro dentro de la carpeta 4.0 que apunta al MSCRM Data Connector Connection String con un tipo de conexion Microsoft CRM Data Extension

    estos son los tres log del visor de enventos que arroja el error:

    Evento 1

    Event Type: Error
    Event Source: MSCRMReportingDataConnector
    Event Category: None
    Event ID: 19972
    Date:  10/11/2010
    Time:  12:31:12 PM
    User:  N/A
    Computer: SERVIDOR02
    Description:
    Report data set execution failure. Error: Invalid object name 'dim.Dim_t_Temporal_Account'.

    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

    Evento 2

    Event Type: Error
    Event Source: MSCRMReporting
    Event Category: None
    Event ID: 19969
    Date:  10/11/2010
    Time:  12:31:12 PM
    User:  N/A
    Computer: SERVIDOR02
    Description:
    Web service request SetDataSourceCredentials to Report Server http://Servidor02:88/reportserver failed with SoapException. Error: Error al procesar el informe. (rsProcessingAborted)

    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

    Evento 3 (Warning)

    Event Type: Warning
    Event Source: ASP.NET 2.0.50727.0
    Event Category: Web Event
    Event ID: 1309
    Date:  10/11/2010
    Time:  12:31:12 PM
    User:  N/A
    Computer: SERVIDOR02
    Description:
    Event code: 3005
    Event message: An unhandled exception has occurred.
    Event time: 10/11/2010 12:31:12 PM
    Event time (UTC): 10/11/2010 5:31:12 PM
    Event ID: 5c5777267852448299ddcd6b523eaef1
    Event sequence: 759
    Event occurrence: 3
    Event detail code: 0
     
    Application information:
        Application domain: /LM/W3SVC/2/ROOT-1-129312885651640170
        Trust level: Full
        Application Virtual Path: /
        Application Path: C:\Program Files\Microsoft Dynamics CRM\CRMWeb\
        Machine name: SERVIDOR02
     
    Process information:
        Process ID: 12308
        Process name: w3wp.exe
        Account name: NT AUTHORITY\NETWORK SERVICE
     
    Exception information:
        Exception type: CrmReportingException
        Exception message: Error al procesar el informe. (rsProcessingAborted)
     
    Request information:
        Request URL: http://localhost:4040/CRMPRUEBAS/CRMReports/rsviewer/reportviewer.aspx
        Request path: /CRMPRUEBAS/CRMReports/rsviewer/reportviewer.aspx
        User host address: 127.0.0.1
        User: FNGCO\AdminCRM
        Is authenticated: True
        Authentication Type: Negotiate
        Thread account name: NT AUTHORITY\NETWORK SERVICE
     
    Thread information:
        Thread ID: 12
        Thread account name: NT AUTHORITY\NETWORK SERVICE
        Is impersonating: False
        Stack trace:    at Microsoft.Crm.Web.Reporting.SrsReportViewer.SetExecutionCredentials(ServerReport report)
       at Microsoft.Crm.Web.Reporting.SrsReportViewer.ConfigurePage()
       at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
       at System.Web.UI.Control.PreRenderRecursiveInternal()
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
     
     
    Custom event details:

    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

    Ya agregue los grupos de ejecucion (Private, User y SQL Group a la base de datos (Temporal) que estoy usando para la ejecucion de los reportes y tampoco me ha funcionado, encontre un kb http://support.microsoft.com/kb/946585/ que habla de algo que no se si aplique en mi caso teniendo en cuenta que yo no estoy usando la base de datos del CRM sino una temporal, para mejorar el tema de rendimiento en la ejecucion de los reportes.

    Agradezco de antemano la ayuda que me pueda dar.

     

    Saludos

    Giovanny


    Giovanny Salazar
    lunes, 11 de octubre de 2010 17:44
  •  

    Por favor trata de impersonar la conexión, es decir coloques un usuario y un password en la cadena de conexión y prueba su funcionamiento.

    Aparentemente el error es por credenciales de seguridad que no son reconocidas, si te vas a conectar a otro motor de base de datos, trato de hacerlo con un usuario y password específico, intenta con un usuario específico y coméntanos como te fue.

    Estoy pendiente de tu respuesta.

     


    Jimmy Larrauri | http://jimmylarrauri.blogspot.com
    lunes, 11 de octubre de 2010 17:58
    Moderador
  • Hola Giovanny,

     

    Una consulta, que es Dim_t_Temporal_Account (una tabla temporal)?, cuando ejecutaste el reporte en el servidor con que usuario lo hax echo?, cuando ejecutas el Informe y te muestra este error con que usuario es?. 

     

    lunes, 11 de octubre de 2010 18:03
  • Es una tabla de una base de datos temporal que cargo previamente para la ejecucion del reporte.

    Saludos,

     

    GS-


    Giovanny Salazar
    lunes, 11 de octubre de 2010 20:11
  • como te comente el enunciado anterior esta es una tabla temporal de un base de datos diferente a la del CRM, ejecutando el reporte en el servidor sin tocar nada de la conexion el se ejecuta con Windows Autentication por lo que no pide el usuario, desde el crm se ejecuta con el usuario logueado.

     

    Saludos,

     

    Giovanny


    Giovanny Salazar
    lunes, 11 de octubre de 2010 20:21
  • Una consulta, el usuario logeado del que hablas tiene permiso de creacion de objetos en la BBDD?, es decir, parece que tu problema es un problema de Rol, cuando lo ejecutas desde el servidor, me imagino lo haces con el administrador, pero cuando lo ejecutas en el CRM lo haces con algún usuario que no tiene permisos administrativos. 

    Es decir, escoge un usuario en particular, y a ese usuario dale permisos de mmm sys_admin en sql (solo para probar), luego ejecuta el report (con el usuario elegido). 

    Dinos si todo el reporte se ejecuta.

     

    Salu2

     

    Atilin

     

    lunes, 11 de octubre de 2010 20:38
  • Giovanny,

    Veo que aún continuas con tu problema de acceso al reporte, esto me huele a un problema de credenciales de acceso al reporte, es por ello que yo te indique que crearas un data source compartido que contenga la configuración de acceso a la base de datos externa. Es decir solo necesitarías un DataSource adicional que se conecte unicamente a estos reportes personalizados que estan vinculados a otra base de datos.

    Adicionalmente, te pedi que me indicaras si los problemas de accesibilidad al reporte solo son dentro del CRM y me confirmaste que efectivamente  el o los reportes lo puedes ejecutar sin problemas desde el http://localhost/reports y que solo cuando lo agregas al CRM estas reproduciendo problemas de accesibilidad.

    Lo que te he pedido a continuación es solo para un tema de validación, que impersones al usuario, es decir trata de que el datasource que has creado corra bajo una cuenta de usuario, prueba con tu usuario FNGCO\AdminCRM y coméntanos como te fue.

    Testea tanto la accesibilidad al reporte fuera del CRM y dentro del CRM. Incluso, remuevele y agrega nuevamente el reporte y cuéntanos como te fue.

    Adicionalmente, valida que ambos ambientes producción y desarrollo las tablas a las que consultas de la base de datos externa se llaman igual, porque parte de la traza de tu error indicaba que no podía ubicar el 'dim.Dim_t_Temporal_Account'.

    Esperaremos ansiosos tus comentarios


    Jimmy Larrauri | http://jimmylarrauri.blogspot.com
    lunes, 11 de octubre de 2010 20:39
    Moderador
  • Jimmy buenas noches,

    Te cuento que he seguido todas las indicaciones que me diste y el problema no lo he podido solucionar, lo ultimo que hice fue copiar la configuracion de los data sources que se generan en el Administrador de Reportes, pero no logro hacerlos funcionar, cree un maquina virtual y monte el ambiente instalando el connector de reporting services pero tampoco lo pude lograr, un pregunta, se deben crear los grupos de seguridad obligatoriamente sobre la base de datos temporal? o me hace falta configurar alguna cosa?, en que parte del servidor puedo visualizar la configuracion que se realiza cuando se instala y se configura el connector de reporting services? se puden colocar dos conexiones diferentes en un mismo data source??,

    Saludos,

    Giovanny


    Giovanny Salazar
    martes, 12 de octubre de 2010 3:02
  • En continuacion con lo anterior, existe otra manera de crear un reporte que se vaya a utilizar dentro del CRM, pero que apunte a una base de datos que no sea la del CRM?, si es asi, que debo tener en cuenta, para que los reportes funciones sin problema?.

    Les agradezco de antemano sus comentarios,

    Saludos

    Giovanny Salazar.

     


    Giovanny Salazar
    martes, 12 de octubre de 2010 3:07
  • Hola Giovanny.

     

    Claro que se puede, pero debes de tener en cuenta los permisos a los usuarios. Es decir, la base de datos de CRM ya esta cubierta, me explico;

    Cuando se crea un usuario , ese usuario pasa a ser miembro de los grupos que CRM crea. Y si no recuerdo mal, son dos de ellos que están en la BBDD.

    Pero que pasa cuando se consulta a otra BBDD que no sea la del CRM, puedes debes de cuidar que el usuario que se conecta a la otra base de datos, tenga los permisos solicitados.

    Si en la otra bbdd el usuario solo va a leer, pues solo dale permisos de lectura Y/O escritura según sea el caso. Yo personalmente, le daría permisos al grupo.  Estoy casi 100% seguro, que  ese es tu problema.  Es decir, entra al SQL, anda a tu BBDD/Seguridad agrega el Grupo de Sql que CRM crea y a ese grupo dale permisos administrativos (solo para probar), Luego que cualquier usuario del CRM ejecute el Report.

    Ya nos contaras como te va !!!

     

    Salu2

     

    Atilin

     

    • Propuesto como respuesta Atilio martes, 12 de octubre de 2010 8:50
    • Marcado como respuesta Jimmy LarrauriModerator viernes, 19 de noviembre de 2010 16:41
    martes, 12 de octubre de 2010 8:50
  • Hola Giovanny:

    Estuve leyendo tu problema y yo tenia uno parecido.

    lo resolvi de la siguiente manera:

    en La base de datos externa a donde se conectar tu reporte agrega permisos a [NT AUTHORITY\NETWORK SERVICE] ya que el Conector de Reportes es la autentiacion que usa por Default, ya sea que requieras permisos de Select o Execute agrega ese user.

    De esa manera pude correr mis reportes desde CRM que apuntan a otra Base de Datos.

    Saludos.

    atte: Berins

     

    jueves, 6 de enero de 2011 23:34