none
No acceder a la Base de datos desde la aplicacion Cliente RRS feed

  • Pregunta

  • Hola
    Tenemos un Servidor de Informes.
    Estamos desarrollando una aplicacion cliente Windows, desde donde se selecciona el tipo de informe y se introducen los parámetros para generar el informe.
    Pero, no queremos acceder a la Base de datos directamente.
    ¿Que podemos hacer si estamos usando el Servidor de informe?

    Alguna idea?

    Gracias

    Un saludo
    Caridad
    viernes, 26 de febrero de 2010 13:01

Todas las respuestas

  • Aunque no queda claro en la pregunta, presumo que estamos hablando de Reporting Services (no de Crystal Reports), y que hay definido un informe .rdl en el servidor, el cual a su vez accede a datos de una base de datos.

    Lo de "No queremos acceder a la base de datos" se puede interpretar de dos formas:
    1) "No queremos llamar al motor de informes para que el informe se genere en el lado servidor"
    o 2) "Sí queremos que el informe se genere en servidor, pero no queremos que recupere directamente los datos desde base de datos, sino pasarle los datos desde el cliente".

    En el caso 1), lo que habría que hacer es generar el informe en lado cliente. Si la aplicación cliente que se está desarrollando es de .Net, se puede usar el control ReportViewer en modo cliente, pasándole la definición del informe en un archivo ".rdlc" (basta con renombrar el .rdl del servidor). Los datos se le pasan dentro de un DataSet en memoria, el cual se puede perfectamente cargar sin acceder directamente a la base de datos (por ejemplo, a partir de un archivo xml).

    Si se trata del caso 2) habría que hacer algo bastante distinto: En la definición del informe habría que cambiar el tipo de origen de datos para que no acceda a la base de datos (por ejemplo, podría abrir un archivo de texto, o un .mdb), y ese archivo habría que pasárselo desde el cliente al servidor (o a una ubicación accesible al servidor).
    sábado, 27 de febrero de 2010 8:15
    Moderador
  • El informe se genera en el servidor.

    El problema es el siguiente: Estamos desarrollando la aplicacion en C# usando el control ReportViewer. La aplicación, al iniciarse tiene un control de usuario, donde el usuario introduce USER y PASSWORD. Nuestra aplicación tiene que comprobar que el usuario y contraseña es válido, y para eso tendría que consultar en Base de datos y ESO es lo que no queremos hacer.

    Que desde la aplicación no se acceda directamente a BD. Cómo lo harías?

    Un saludo
    Caridad



    lunes, 1 de marzo de 2010 15:24
  • Hola arma un proyecto de SSRS de modelo y accede a los datos por medio del modelo
    Maxi Accotto Consultoria en SQL Server Buenos Aires - Argentina http://blog.maxiaccotto.com
    lunes, 1 de marzo de 2010 23:49
    Moderador