[Reporting Services] Llamar a un procedimiento almacenado desde SSRS

Hace unos cuantos días me preguntaban en el blog como pasar los parámetros de un procedimiento almacenado, cuando este es llamado desde Reporting Services. Bueno pues voy a explicar paso a paso, con un sencillo ejemplo como lo hice yo(seguro que hay otras formas [;)]).


Lo primero es crear un procedimiento almacenado que nos traiga algunos datos.


SP


El procedimiento que vemos en la imagen es muy sencillo, pero nos servirá para lo que queremos. Este tiene un parámetro(@ContactID) y nos devuelve todos los campos de la tabla Person.Contact de la base de datos AdventureWorks de SQL Server 2005.


Una vez creado el procedimiento, nos vamos a crear un nuevo informe. Los pasos a seguir son los de siempre.
Creamos el datasource(cadena de conexión al servidor de base de datos), en el tipo de comando ponemos text(si, podríamos poner StoreProcedure, pero eso lo explico otro día [;)]). Luego llamamos al procedimiento tal como lo hacemos desde normalmente:


SP_2 


Como podéis ver, al poner @ContactID y ejecutar, el diseñador nos creará automáticamente un parámetro para el @ContactID.


Parametros_SP


Si necesitásemos más parámetros, al escribirlos en la parte de datos, el diseñador nos agregaría un parámetro por cada @Campo que encuentre.
¿Como sabemos que los parámetros creados van realmente a esos campos?, pues muy fácil, nos vamos a la edición del DataSource(o conjunto de datos) y nos situamos en la pestaña de parámetros, en ella vemos que @contactID está vinculado al parámetro suyo. Aquí podemos modificarlo nosotros mediante una expresión.


SP_3


Ya tenemos creado nuestro acceso a los datos. Ahora para ver los campos que devuelve ese dataset, en la pestaña de datos del informe, pulsamos actualizar y listo, ya tenemos nuestros campos en la pestaña de conjunto de datos(normalmente a la izquierda del diseñador). 
Ahora tan solo nos queda arrastar los campos a nuestra pestaña de diseño(el diseñar ya es para ustedes [:P]) e ir a vista previa para ver como nos pide el parámetro.


PasoParametros


Bueno, espero que os hay servido de utilidad.


Un Saludo

Sin categoría

3 thoughts on “[Reporting Services] Llamar a un procedimiento almacenado desde SSRS

  1. Hola, Fran Gracias por tus aportes.
    Desearia que nos aclararas la manera de Escoger tipo StoredProcedure y llamando parametros

    Creamos el datasource(cadena de conexión al servidor de base de datos), en el tipo de comando ponemos text(si, podríamos poner StoreProcedure, pero eso lo explico otro día [;)]). Luego llamamos al procedimiento tal como lo hacemos desde normalment

  2. hola

    he creado un procedimiento almacenado y lo llamo como en tu ejemplo, funciona perfectamente “gracias” por la ayuda.
    mi problema es que cuando lo llamo de un modulo que continene reporview me pide los parametros correctos pero al clickear VER INFORME muestra el sigueinte error:

    “Error al procesar el informe.
    Error de ejecución de consulta para el conjunto de datos ‘Datos1’.Para obtener más información acerca de este error, vaya al servidor de informes en el equipo del servidor local o habilite los errores remotos ”

    que puede ser , necesito ayuda

  3. Hola Fran , y gracias por tus aportes
    Como se usaría Seleccionando StoreProcedure manejando parametros ?

    < <(si, podríamos poner StoreProcedure, pero eso lo explico otro día [;)]). Luego llamamos al procedimiento tal como lo hacemos desde normalmente:>>

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *