Share via


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:

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:

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

Contenido nuevo:
  • Se ha agregado información acerca de cómo usar la UI para habilitar distintos tipos de caché.
  • Se ha agregado información acerca de la forma en que el SP2 de SQL Server 2005 incluye nuevos mensajes de registro que permiten a los usuarios solucionar problemas relacionados con las llamadas realizadas por la transformación a proveedores de datos externos.

14 de abril de 2006

Contenido nuevo:
  • Se describió la capacidad de especificar los tamaños de caché para entornos de 32 y 64 bits.
  • Se agregó información acerca de los efectos de usar diferentes tipos de caché.

5 de diciembre de 2005

Contenido modificado:
  • Se aclaró el comportamiento de las coincidencias.