none
Enlazar informes con lógica de negocio RRS feed

  • Pregunta

  • Buenas tardes,

    ¿Es posible desde un informe enlazar una dll e invocar un método de una clase de esta para mostrar los datos devueltos?

    Dicho de otro modo: crear un informe que muestre datos obtenidos no directamente de la base de datos, sino a través de métodos de la lógica del dominio.

    Muchas gracias.

    martes, 15 de mayo de 2012 16:41

Respuestas

  • Probablemente la forma más directa de conseguirlo consista en meter la lógica de negocio en una DLL de .Net, e instalarla dentro de SQL Server usando la integración con el CLR. Desde el punto de vista de Reporting Services, continuarás construyendo tu dataset mediante un Select contra SQL Server (o llamando a un procedimiento almacenado) y será dentro de SQL Server donde ese Select o Procedimiento llame a las funciones de negocio ubicadas en la DLL.

    Otra alternativa sería referenciar la DLL desde la pestaña "Code" de las propiedades del Report, y luego llamar a sus métodos desde los informes usando expresiones del tipo =Code!...

    miércoles, 16 de mayo de 2012 7:27
    Moderador

Todas las respuestas

  • Probablemente la forma más directa de conseguirlo consista en meter la lógica de negocio en una DLL de .Net, e instalarla dentro de SQL Server usando la integración con el CLR. Desde el punto de vista de Reporting Services, continuarás construyendo tu dataset mediante un Select contra SQL Server (o llamando a un procedimiento almacenado) y será dentro de SQL Server donde ese Select o Procedimiento llame a las funciones de negocio ubicadas en la DLL.

    Otra alternativa sería referenciar la DLL desde la pestaña "Code" de las propiedades del Report, y luego llamar a sus métodos desde los informes usando expresiones del tipo =Code!...

    miércoles, 16 de mayo de 2012 7:27
    Moderador
  • Muchas gracias Alberto, por tu respuesta.

    Al final resolví mi problema colocando mi lógica de negocio detrás de un servicio WCF, y consumiendo éste desde los informes.

    La segunda opción que me dices es muy interesante y la investigué, y comentaban en foros que no se podían crear datasources que obtuvieran los datos de una dll enlazada. La verdad es que no seguí más por ese camino. Si alguna vez lo has hecho así sería genial saber cómo se hace.

    ¡Un saludo!

    viernes, 1 de junio de 2012 17:21