Fran Diaz

Reporting Services, Business Intelligence, tecnologías Microsoft y otros

Email Notifications

Recent Posts

Tags

News

Community

Comunidades

  • Foro MSDN Español: Colaborador
  • CartujaDotNet

Webs Amigas

Archives

[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

Posted: 18/3/2008 11:14 por Fran Díaz | con 3 comment(s) |
Comparte este post:

Comentarios

CoAraque ha opinado:

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

# March 21, 2008 6:33 AM

sol ha opinado:

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

# March 25, 2008 5:08 PM

CoAraque ha opinado:

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:>>

# April 13, 2008 10:12 PM