Transformación Búsqueda

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. La búsqueda se utiliza para tener acceso a información adicional en una tabla relacionada que está basada en valores de columnas comunes.

El conjunto de datos de referencia puede ser un archivo de caché, una tabla o una vista existente, una tabla nueva o el resultado de una consulta SQL. La transformación Búsqueda utiliza un administrador de conexiones OLE DB o un administrador de conexiones de caché para conectar con el conjunto de datos de referencia. Para obtener más información, vea Administrador de conexión OLE DB y Administrador de conexiones de caché.

Puede configurar la transformación Búsqueda de las siguientes maneras:

  • Seleccionar el administrador de conexiones que desea utilizar. Si desea conectarse a una base de datos, seleccione un administrador de conexiones OLE DB. Si desea conectarse a un archivo de caché, seleccione un administrador de conexiones de caché.

  • Especificar la tabla o vista que contiene el conjunto de datos de referencia.

  • Generar una base de datos 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 transformación Búsqueda.

  • Configurar las opciones de almacenamiento en caché.

La transformación Búsqueda admite los siguientes proveedores de bases de datos para el administrador de conexiones OLE DB:

  • SQL Server

  • Oracle

  • DB2

La transformación Búsqueda intenta realizar una combinación de igualdad entre valores de la entrada de transformación y valores del conjunto de datos de referencia. Una combinación de igualdad quiere decir que cada fila de la entrada de transformación debe coincidir con, al menos, una fila del conjunto de datos de referencia. Si una combinación de no es posible, la transformación Búsqueda realiza una de las siguientes acciones:

  • Si no hay ninguna entrada correspondiente en el conjunto de datos de referencia, no se produce ninguna combinación. De forma predeterminada, la transformación Búsqueda trata como errores las filas sin entradas coincidentes. Sin embargo, la transformación Búsqueda se puede configurar para redirigir dichas filas a un resultado no coincidente. Para obtener más información, vea Editor de transformación Búsqueda (página General) y Editor de transformación Búsqueda (página Salida de error).

  • Si hay varias coincidencias en la tabla de referencia, la transformación Búsqueda devuelve solo la primera coincidencia devuelta por la consulta de búsqueda. Si se encuentran varias coincidencias, la transformación Búsqueda genera un error o advertencia solo cuando la transformación se ha configurado para cargar todo el conjunto de datos de referencia en la memoria caché. En este caso, la transformación Búsqueda genera una advertencia cuando detecta varias coincidencias mientras la transformación llena la memoria caché.

La combinación puede ser compuesta, lo que indica que pueden combinarse varias columnas de la entrada de transformación con columnas del conjunto de datos de referencia. La transformación admite la combinación de columnas con cualquier tipo de datos, a excepción de 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 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 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. Para evitar errores de búsqueda producidos por diferencias entre mayúsculas y minúsculas en los datos, utilice primero la transformación Mapa de caracteres para convertir los datos en mayúsculas o minúsculas. A continuación, incluya 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).

La transformación Búsqueda tiene las entradas y resultados siguientes:

  • Entrada.

  • Resultado coincidente. El resultado coincidente administra las filas de la entrada de transformación que coinciden como mínimo con una entrada del conjunto de datos de referencia.

  • Resultado no coincidente. El resultado no coincidente administra las filas de la entrada que no coinciden como mínimo con una entrada del conjunto de datos de referencia. Si configura la transformación Búsqueda para que trate como errores las filas sin entradas coincidentes, las filas se redirigirán a la salida de errores. En los demás casos, la transformación redirigiría dichas filas al resultado no coincidente.

    [!NOTA]

    En SQL Server 2005 Integration Services (SSIS), la transformación Búsqueda solo tenía un resultado. Para obtener más información sobre cómo ejecutar una transformación Búsqueda creada en SQL Server 2005, vea Actualizar las transformaciones de búsqueda.

  • Resultado de errores

Almacenar en caché el conjunto de datos de referencia

Una caché en memoria almacena el conjunto de datos de referencia y una tabla hash que indiza los datos. La memoria caché permanece en la memoria hasta que se completa la ejecución del paquete. Puede guardar la memoria caché en un archivo de caché (.caw).

Al conservar la memoria caché en un archivo, el sistema la carga con más rapidez. De esta forma, se mejora el rendimiento de la transformación Búsqueda y del paquete. Recuerde que cuando utiliza un archivo de caché, está trabajando con datos que no están tan actualizados como los de la base de datos.

A continuación se describen otras ventajas relacionadas con guardar la memoria caché en un archivo:

A continuación se enumeran las opciones de almacenamiento en caché:

  • El conjunto de datos de referencia se genera mediante una tabla, vista o consulta SQL y se carga en la memoria caché antes de que se ejecute la transformación Búsqueda. Puede usar el administrador de conexiones OLE DB para tener acceso al conjunto de datos.

    Esta opción de almacenamiento en caché es compatible con la opción de almacenamiento en caché completa disponible para la transformación Búsqueda en SQL Server 2005 Integration Services (SSIS).

  • El conjunto de datos de referencia se genera a partir de un origen de datos conectado al flujo de datos o de un archivo de caché, y se carga en la memoria caché antes de que se ejecute la transformación Búsqueda. Para tener acceso al conjunto de datos puede usar el administrador de conexiones de caché o la transformación Caché. Para obtener más información, vea Administrador de conexiones de caché y Transformación de caché.

  • El conjunto de datos de referencia se genera mediante una tabla, vista o consulta SQL durante la ejecución de la transformación Búsqueda. Las filas con entradas coincidentes en el conjunto de datos de referencia y las que no tienen entradas coincidentes se cargan en la memoria caché.

    Cuando se supera el tamaño de la memoria caché, la transformación Búsqueda quita automáticamente de la memoria caché las filas utilizadas con menor frecuencia.

    Esta opción de almacenamiento en caché es compatible con la opción de almacenamiento en caché parcial disponible para la transformación Búsqueda en SQL Server 2005 Integration Services (SSIS).

  • El conjunto de datos de referencia se genera mediante una tabla, vista o consulta SQL durante la ejecución de la transformación Búsqueda. No se almacenan datos en la memoria caché.

    Esta opción de almacenamiento en caché es compatible con la opción sin almacenamiento en caché disponible para la transformación Búsqueda en SQL Server 2005 Integration Services (SSIS).

Integration Services y SQL Server difieren en el modo en que comparan cadenas. Si la transformación Búsqueda se configura para cargar el conjunto de datos de referencia en la memoria caché antes de que se ejecute la transformación Búsqueda, Integration Services lleva a cabo la comparación de búsqueda en la memoria caché. En caso 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. Por lo tanto, es posible que la transformación Búsqueda devuelva un número de coincidencias diferentes a partir de la misma tabla de búsqueda, en función del tipo de caché.

Solucionar problemas de la transformación Búsqueda

Una transformación Búsqueda configurada para no cargar el conjunto de datos de referencia en la memoria caché producirá un error si una operación de búsqueda coincide con columnas que contienen valores NULL. Para evitar este error, actualice de forma manual la instrucción SQL de forma que incluya una condición OR ISNULL (ColumnName). Si una transformación Búsqueda se ha configurado para cargar el conjunto de datos de referencia en la memoria caché antes de que se ejecute la transformación Búsqueda, la operación de búsqueda se realiza correctamente.

[!NOTA]

Cuando sea posible, evite utilizar en las operaciones de búsqueda columnas que puedan contener valores NULL. Si una columna contiene valores NULL, configure la transformación Búsqueda para usar una salida de error que dirija a una salida de transformación diferente las filas que no coincidan con filas de la tabla de referencia. Como alternativa, puede usar el almacenamiento completo en caché, que admite operaciones de búsqueda con valores NULL.

Puede registrar las llamadas realizadas por la transformación Búsqueda a proveedores de datos externos. Puede utilizar esta capacidad de registro para solucionar problemas de relleno la memoria caché a partir de orígenes de datos externos realizados por la transformación Búsqueda. Para registrar las llamadas que la transformación Búsqueda realiza a proveedores de datos externos, 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:

Para obtener más información acerca de otras propiedades que puede establecer, 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:

Recursos externos

Icono de Integration Services (pequeño) Manténgase al día con Integration Services

Para obtener las descargas, artículos, ejemplos y vídeos más recientes de Microsoft, así como soluciones seleccionadas de la comunidad, visite la página de Integration Services en MSDN o TechNet:

Para recibir notificaciones automáticas de estas actualizaciones, suscríbase a las fuentes RSS disponibles en la página.