Transformación Búsqueda
Actualizado: 12 de diciembre de 2006
La transformación Búsqueda realiza búsquedas mediante la combinación de datos de columnas de entrada con columnas de un conjunto de datos de referencia. El conjunto de datos de referencia puede ser una tabla o una vista existente, una tabla nueva o el resultado de una instrucción SQL. La transformación Búsqueda utiliza un administrador de conexión OLE DB para conectar con la base de datos que contiene los datos que constituyen el origen del conjunto de datos de referencia. Para obtener más información, vea Administrador de conexión OLE DB
Puede configurar la transformación Búsqueda de las siguientes maneras:
- Especificar la tabla o vista que contiene el conjunto de datos de referencia.
- Generar una tabla de referencia al especificar una instrucción SQL.
- Especificar las combinaciones entre los datos de entrada y el conjunto de datos de referencia.
- Agregar columnas del conjunto de datos de referencia a la salida de la transformación.
- Especificar mediante una instrucción SQL de almacenamiento en caché que una parte del conjunto de datos de referencia (o todo el conjunto) se copie en caché para mejorar el rendimiento.
- Asignar parámetros en una instrucción SQL almacenada en caché a columnas de entrada.
- Especificar cuántos megabytes de memoria puede usar la transformación en entornos de 32 y 64 bits. El entorno de 32 bits impone un límite de 3072 megabytes, mientras que el entorno de 64 bits no.
La transformación Búsqueda realiza una combinación de igualdad entre valores de la entrada de la transformación y valores del conjunto de datos de referencia. Si se usa una combinación de igualdad, cada fila de la entrada de la transformación debe coincidir con al menos una fila del conjunto de datos de referencia. Si no hay ninguna entrada coincidente en el conjunto de datos de referencia, no se realizará la combinación y no se devolverá ningún valor del conjunto de datos de referencia. Esto provoca un error y la transformación no finaliza correctamente, a menos que la configuración indique que se omitan los errores o se redirijan las filas relacionadas con el error a la salida de errores. Si hay varias coincidencias en la tabla de referencia, la búsqueda devuelve sólo la primera coincidencia sobre la base de la consulta de búsqueda. Si se encuentran varias coincidencias, no se genera ningún error o advertencia a menos que la transformación Búsqueda se configure para utilizar almacenamiento previo completo en caché. Si se utiliza almacenamiento previo completo en caché, se genera una advertencia cuando se detectan varias coincidencias a medida que se llena la caché.
La combinación puede ser compuesta, lo que indica que se pueden combinar varias columnas de la entrada de la transformación con columnas del conjunto de datos de referencia. La transformación admite la combinación de columnas con cualquier tipo de datos, excepto DT_R4, DT_R8, DT_TEXT, DT_NTEXT o DT_IMAGE. Para obtener más información, vea Tipos de datos de Integration Services.
Normalmente, los valores del conjunto de datos de referencia se agregan a la salida de la transformación. Por ejemplo, la transformación Búsqueda puede extraer un nombre de producto de una tabla mediante un valor de una columna de entrada y después agregar el nombre del producto a la salida de la transformación. Los valores de la tabla de referencia pueden reemplazar valores de columnas o agregarse a nuevas columnas.
Las búsquedas realizadas por la transformación Búsqueda distinguen mayúsculas de minúsculas. Puede evitar errores en las búsquedas provocados por diferencias de mayúsculas y minúsculas de los datos convirtiendo previamente los datos a mayúsculas o minúsculas mediante la transformación Mapa de caracteres, e incluyendo las funciones UPPER o LOWER en la instrucción SQL que genera la tabla de referencia. Para obtener más información, vea Transformación Mapa de caracteres, UPPER (Transact-SQL) y LOWER (Transact-SQL).
También se pueden evitar errores de búsqueda si no se utiliza el almacenamiento en caché y se leen datos de una base de datos que no distinga mayúsculas de minúsculas.
Esta transformación tiene una entrada, una salida normal y una salida de error.
Tipos de almacenamiento en caché
Puede asignar la memoria de un conjunto de datos de referencia de las siguientes maneras:
- Almacenamiento previo completo en caché, en el que el conjunto completo de datos de referencia se lee antes de procesar la entrada. Se trata del tipo de almacenamiento en caché predeterminado. Para configurar una transformación Búsqueda para usar el almacenamiento previo completo en caché, asegúrese de desactivar todas las opciones de la ficha Avanzadas del Editor de transformación Búsqueda.
- Almacenamiento parcial en caché, en el que la transformación Búsqueda especifica el tamaño de la memoria caché que se carga con los datos de referencia. Esta opción sólo está disponible para conexiones que admitan acceso mediante clave. Para configurar una transformación Búsqueda para usar el almacenamiento parcial en caché, en la ficha Avanzadas del Editor de transformación Búsqueda, seleccione Habilitar restricción de la memoria y, a continuación, seleccione Habilitar caché o Modificar la instrucción SQL, o bien seleccione tanto Habilitar caché como Modificar la instrucción SQL.
- Sin almacenamiento en caché, en el que cada fila del conjunto de filas tiene acceso al conjunto de datos de referencia. Para configurar una transformación Búsqueda para no usar almacenamiento en caché, en la ficha Avanzadas del Editor de transformación Búsqueda, active Habilitar restricción de la memoria y desactive todas las demás opciones.
Para obtener más información acerca de la ficha Avanzadas, vea Editor de transformación Búsqueda (ficha Avanzadas).
La transformación Búsqueda que se configura para usar el almacenamiento parcial en caché o para no usar almacenamiento en caché no se completará correctamente si la operación de búsqueda encuentra columnas que contienen valores NULL, a menos que se actualice manualmente la instrucción SQL para incluir la condición OR ISNULL(ColumName). Si se usa almacenamiento previo completo en caché, no se producirá este error en la operación de búsqueda.
[!NOTA] Si es posible, evite utilizar en las operaciones de búsqueda columnas que contengan valores NULL. Si una columna contiene valores NULL, configure la transformación Búsqueda para usar una salida de error que dirija las filas que no coincidan con filas de la tabla de referencia a una salida diferente. Como alternativa, puede usar el almacenamiento completo en caché, que admite operaciones de búsqueda con valores NULL.
Integration Services y SQL Server difieren en el modo en que comparan cadenas. Si la transformación Búsqueda se configura para usar almacenamiento previo completo en caché, Integration Services realiza la comparación de búsqueda en la caché; de lo contrario, la operación de búsqueda utiliza una instrucción SQL con parámetros y SQL Server realiza la comparación de búsqueda. Esto significa que la transformación de búsqueda puede devolver un número diferente de coincidencias de la misma tabla de búsqueda según el tipo de caché.
Instrucción SQL de almacenamiento en caché
La transformación Búsqueda puede configurarse para usar una instrucción SQL de almacenamiento en caché. La instrucción SQL puede seleccionar un subconjunto del conjunto de datos referencia, a fin de limitar su tamaño. Si el conjunto de referencia es muy grande, se puede usar una instrucción de almacenamiento en caché para limitar la cantidad de memoria usada por el conjunto de datos de referencia.
La instrucción SQL de almacenamiento en caché puede usar valores o parámetros en la cláusula WHERE. Los parámetros se asignan a columnas de entrada y se actualizan en tiempo de ejecución con valores de las columnas de entrada.
Solucionar problemas de la transformación Búsqueda
A partir del Service Pack 2 (SP2) de Microsoft SQL Server 2005, puede registrar las llamadas realizadas por la transformación Búsqueda a proveedores de datos externos. Puede utilizar esta nueva capacidad de registro para solucionar problemas relacionados con llenar la memoria caché desde orígenes de datos externos por parte de la transformación Búsqueda. Para registrar las llamadas que la transformación Búsqueda realiza a un proveedor de datos externo, habilite el registro de paquetes y seleccione el evento Diagnostic en el nivel de paquete. Para obtener más información, vea Solucionar problemas de ejecución de paquetes.
Configurar la transformación Búsqueda
Puede establecer propiedades a través del Diseñador SSIS o mediante programación.
Para obtener más información acerca de las propiedades que puede establecer en el cuadro de diálogo Editor de transformación Búsqueda, haga clic en uno de los temas siguientes:
- Editor de transformación Búsqueda (ficha Tabla de referencia)
- Editor de transformación Búsqueda (ficha Columnas)
- Editor de transformación Búsqueda (ficha Avanzadas)
El cuadro de diálogo Editor avanzado indica las propiedades que se pueden establecer mediante programación. Para obtener más información acerca de las propiedades que puede establecer a través del cuadro de diálogo Editor avanzado o mediante programación, haga clic en uno de los temas siguientes:
Para obtener más información sobre cómo establecer valores de propiedades, haga clic en uno de los temas siguientes:
- Cómo implementar una búsqueda con la transformación Búsqueda
- Cómo establecer las propiedades de un componente de flujo de datos mediante un editor de componentes
- Cómo establecer las propiedades de un componente de flujo de datos en la ventana Propiedades
- Cómo configurar las propiedades de un componente de flujo de datos mediante el Editor avanzado
Vea también
Conceptos
Transformación Búsqueda aproximada
Transformación Búsqueda de términos
Crear un flujo de datos de paquetes
Transformaciones de Integration Services
Ayuda e información
Obtener ayuda sobre SQL Server 2005
Historial de cambios
Versión | Historial |
---|---|
12 de diciembre de 2006 |
|
14 de abril de 2006 |
|
5 de diciembre de 2005 |
|