Usar parámetros de consulta con orígenes de datos específicos
Nuevo: 17 de julio de 2006
Cuando se define una consulta para un conjunto de datos, se selecciona el tipo de origen de datos. El tipo de origen de datos especifica la extensión de procesamiento de datos o el proveedor de datos .NET registrado que se utiliza para conectar con el origen de datos. El proveedor de datos es la capa de software que interactúa con el origen de datos y determina la compatibilidad con el uso de variables en una consulta. En este tema se muestra el modo en que una consulta cambia para un conjunto de resultados determinado en función del origen de datos al que se está conectado, y si contiene una variable en la consulta.
Variables de consulta y proveedores de datos
En la tabla siguiente se muestran los resultados de los datos de la base de datos de ejemplo AdventureWorks. Se puede crear este conjunto de resultados al ejecutar una consulta Transact-SQL en la base de datos de ejemplo AdventureWorks o una consulta MDX en el cubo de Adventure Works implementado como parte de los informes de ejemplo de AdventureWorks. El conjunto de resultados muestra dos columnas: los nombres de los modelos de producto que incluyen la palabra "Mountain" y el número correspondiente de ventas por Internet.
Nombre | Ventas por Internet |
---|---|
Fender Set - Mountain |
2121 |
HL Mountain Tire |
1396 |
LL Mountain Tire |
862 |
ML Mountain Tire |
1161 |
Mountain Bottle Cage |
2025 |
Mountain Tire Tube |
3095 |
Mountain-100 |
396 |
Mountain-200 |
3552 |
Mountain-400-W |
543 |
Mountain-500 |
479 |
Women's Mountain Shorts |
1019 |
En las secciones siguientes se muestra la consulta que permite crear este conjunto de resultados, primero desde una base de datos relacional y luego desde una multidimensional.
Orígenes de datos de bases de datos relacionales
En una base de datos relacional como Microsoft SQL Server, se pueden crear consultas mediante Transact-SQL. Aunque esta consulta limita los resultados al incluir una cláusula WHERE configurada como un valor no modificable, la consulta aún no contiene una variable.
Consulta Transact-SQL |
---|
|
A fin de agregar una variable para el nombre del modelo de producto, PM.Name
, se debe especificar un parámetro de consulta en la cláusula WHERE. En la tabla siguiente se muestra cómo especificar parámetros de consulta para distintos proveedores de datos. El proveedor de datos se selecciona automáticamente al seleccionar el tipo de origen de datos. La cadena de conexión de este proveedor de datos se muestra en la segunda columna. La consulta de la tabla es idéntica a la anterior, pero se ha agregado un parámetro en un formato compatible con el proveedor de datos.
Tipo de origen de datos | Proveedor de datos | Consulta |
---|---|---|
Microsoft SQL Server |
Microsoft SQL Server (SqlClient) Cadena de conexión:
|
|
OLE DB |
Proveedor Microsoft OLE DB para SQL Server Cadena de conexión:
|
|
Oracle |
Microsoft SQL Server (OracleClient) |
|
OLE DB |
Cualquier proveedor de datos .NET registrado |
Depende del proveedor. |
En estos ejemplos se ha agregado una variable a la cláusula WHERE de la consulta, con lo que cambia la prueba para la palabra "Mountain" por una prueba para el valor de la variable.
- El proveedor de datos .NET para SQL Server admite las variables cuyo nombre empieza con el carácter de arroba (@). Por ejemplo,
PM.Name ``LIKE '%' + @Mountain + '%')
. - El proveedor OLE DB para SQL Server no admite variables con nombre. Utilice el signo de interrogación (?) para especificar una variable. Los parámetros que se pasan al proveedor OLE DB se deben pasar en el orden en el que aparecen en la cláusula WHERE. Por ejemplo,
PM.Name ``LIKE ('%' + ? + '%')
. - El proveedor de datos .NET para Oracle admite los parámetros con números que empiezan con dos puntos (:). Por ejemplo,
PM.Name ``LIKE '%' + :1 + '%')
. - La compatibilidad de otros proveedores de datos OLE DB con las variables depende de cada proveedor de datos. Consulte la documentación del proveedor de datos para obtener más información.
El diseñador de consultas asociado a un tipo de origen de datos crea un parámetro de consulta para cada variable identificada. Estos parámetros de consulta se muestran en la ficha Parámetro de las páginas de propiedades Conjunto de datos. Por cada parámetro de consulta se crea un parámetro de informe del tipo String. Los valores de los parámetros de consulta definidos para el conjunto de datos se establecen en el parámetro de informe correspondiente. Se puede editar el tipo de datos de los parámetros de informe y otras propiedades en el cuadro de diálogo Propiedades del informe, accesible desde el menú Informe cuando se está en la vista Datos. También se pueden crear, editar o eliminar estos parámetros de consulta de forma manual. Para obtener más información, vea Conjunto de datos (ficha Parámetros del Diseñador de informes).
Orígenes de datos de bases de datos multidimensionales
En una base de datos multidimensional como Microsoft Analysis Services, se pueden crear consultas mediante MDX. Aunque esta consulta limita los resultados al incluir una cláusula Filter configurada como un valor no modificable, la consulta aún no contiene una variable.
Consulta MDX |
---|
|
A fin de agregar una variable para el nombre del modelo de producto, @ProductModelName, se debe agregar una cláusula FILTER. En la tabla siguiente se muestra que, en las bases de datos multidimensionales, las variables forman parte de una cláusula FILTER. El tipo de origen de datos es el valor que se selecciona en la lista desplegable al crear un origen de datos nuevo para Reporting Services. El proveedor de datos se selecciona automáticamente al seleccionar el tipo de origen de datos. La cadena de conexión de este proveedor de datos también se muestra en la segunda columna. La consulta de la tabla es idéntica a la anterior, pero se ha agregado un parámetro en un formato compatible con el proveedor de datos.
Tipo de origen de datos | Proveedor de datos | Consulta |
---|---|---|
Microsoft SQL Server Analysis Services |
SQL Server Analysis Services (AdomdClient) Cadena de conexión:
|
|
OLE DB |
Proveedor Microsoft OLE DB para Analysis Services 9.0 Cadena de conexión:
|
OLE DB para OLAP no admite consultas con parámetros. Las soluciones se describen en las notas del producto "Integrating Analysis Services with Reporting Services" (Integración de Analysis Services con Reporting Services). |
En estos ejemplos se ha agregado una variable a la cláusula WHERE de la consulta, con lo que cambia la prueba para la palabra Mountain por una prueba para el valor de la variable.
- Microsoft SQL Server Analysis Services admite los parámetros con nombre definidos en la sección Filter del diseñador de consultas MDX. Las variables con nombre empiezan con el carácter de arroba (@). Por ejemplo,
@ProductModelName
. - El proveedor Microsoft OLE DB para Analysis Services 9.0 no admite consultas con parámetros. Para obtener más información, busque "Integrating Analysis Services with Reporting Services" en msdn.microsoft.com.
- La compatibilidad de otros proveedores de datos multidimensionales con las variables depende de cada proveedor de datos. Consulte la documentación del proveedor de datos para obtener más información.
El diseñador de consultas asociado a un tipo de origen de datos crea un parámetro de consulta para cada variable identificada. Se crea automáticamente un conjunto de datos especial a fin de ofrecer valores válidos para cada parámetro. Estos parámetros de consulta se muestran en la ficha Parámetro de las páginas de propiedades Conjunto de datos. Por cada parámetro de consulta se crea un parámetro de informe del tipo String. Los valores de los parámetros de consulta definidos para el conjunto de datos se establecen en el parámetro de informe correspondiente. También se pueden crear, editar o eliminar estos parámetros de conjunto de datos de forma manual. Para obtener más información, vea Cómo definir parámetros en el diseñador de consultas MDX y DMX para Analysis Services (Diseñador de informes).
Los conjuntos de datos para ofrecer valores válidos para cada consulta se crean cuando se procesa la consulta.
Vea también
Tareas
Cómo asociar un parámetro de consulta a un parámetro de informe (Diseñador de informes)
Conceptos
Usar propiedades de campo extendidas para una base de datos de Analysis Services
Utilizar el diseñador de consultas MDX de Analysis Services en modo de diseño
Utilizar el diseñador de consultas MDX de Analysis Services en modo de consulta
Definir conjuntos de datos de informe para una base de datos relacional de SQL Server
Definir conjuntos de datos de informe para datos relacionales de una base de datos de Oracle
Otros recursos
Interfaz de usuario del Diseñador de consultas MDX de Analysis Services
Interfaz de usuario del Diseñador de consultas de SQL Server