Origen de OLE DB
Actualizado: 15 de septiembre de 2007
El origen de OLE DB extrae datos de varias bases de datos relacionales compatibles con OLE DB mediante una tabla de base de datos, una vista o un comando SQL. Por ejemplo, el origen de OLE DB puede extraer datos de tablas de bases de datos de Microsoft Access o SQL Server.
[!NOTA] Para cargar datos desde un origen de datos que use Microsoft Office Excel 2007, utilice un origen de OLE DB. No puede utilizar un origen de Excel para cargar datos desde un origen de datos de Excel 2007. Para obtener más información, vea Administrador de conexión OLE DB. Para cargar datos desde un origen de datos que use Microsoft Office Excel 2003 o anterior, utilice un origen de Excel. Para obtener más información, vea Origen de Excel.
El origen de OLE DB proporciona cuatro modos de acceso distintos para extraer datos:
- Una tabla o vista.
- Una tabla o vista especificadas en una variable.
- Los resultados de una instrucción SQL. La consulta puede tener parámetros.
- Los resultados de una instrucción SQL, almacenados en una variable.
Si utiliza una consulta con parámetros, puede asignar variables a parámetros para especificar los valores para parámetros individuales en las instrucciones SQL.
Este origen utiliza un administrador de conexión OLE DB para conectar con el origen de datos, y el administrador de conexión especifica el proveedor OLE DB que se debe usar. Para obtener más información, vea Administrador de conexión OLE DB.
Un proyecto de Integration Services también proporciona el objeto de origen de datos a partir del que se puede crear el administrador de conexión OLE DB, haciendo que los orígenes de datos y las vistas de orígenes de datos estén disponibles para el origen de OLE DB. Para obtener más información, vea Origen de datos (SSIS) y Vista de origen de datos (SSIS).
Dependiendo del proveedor OLE DB, el origen de OLE DB podría tener algunas limitaciones:
- El proveedor Microsoft OLE DB para Oracle no admite los tipos de datos BLOB, CLOB, NCLOB, BFILE y UROWID de Oracle, y el origen de OLE DB no puede extraer los datos de tablas que contengan columnas asociadas a estos tipos de datos.
- Los proveedores IBM OLE DB DB2 y Microsoft OLE DB DB2 no admiten el uso de un comando SQL para llamar a un procedimiento almacenado. Cuando se usa este tipo de comandos, el origen de OLE DB no puede crear la columna de metadatos y, como consecuencia, los componentes del flujo de datos que siguen al origen de OLE DB en el flujo de datos no tienen ninguna columna disponible y se produce un error en la ejecución del flujo de datos.
El origen de OLE DB tiene una salida normal y una salida de error.
Usar instrucciones SQL con parámetros
El origen de OLE DB puede utilizar una instrucción SQL para extraer datos. Esta instrucción puede ser una instrucción SELECT o EXEC.
El origen de OLE DB utiliza un administrador de conexión OLE DB para conectar con el origen de datos del que extrae los datos. Según el proveedor que utiliza el administrador de conexión OLE DB y el sistema de administración de bases de datos relacionales (RDBMS) al que se conecta el administrador de conexión, se aplican reglas diferentes a la asignación de nombres y enumeración de los parámetros. Si los nombres de los parámetros se devuelven de RDBMS, puede usar estos nombres para asignar parámetros de una lista de parámetros a parámetros de una instrucción SQL; de lo contrario, los parámetros se asignan al parámetro de la instrucción SQL por la posición ordinal que ocupan en la lista de parámetros. Los tipos de nombres de parámetros que se admiten dependen del proveedor. Por ejemplo, algunos proveedores requieren que utilice los nombres de variable o columna, mientras que otros proveedores requieren que utilice nombres simbólicos como 0 o Param0. Consulte la documentación específica del proveedor para obtener información sobre los nombres de parámetros que se utilizan en las instrucciones SQL.
Al utilizar un administrador de conexión OLE DB, no puede utilizar las subconsultas con parámetros porque el origen de OLE DB no puede derivar información de parámetros a través del proveedor OLE DB. Sin embargo, puede utilizar una expresión para concatenar los valores de parámetro en la cadena de consulta y para establecer la propiedad SqlCommand del origen.
En el Diseñador SSIS, puede configurar un origen de OLE DB en el cuadro de diálogo Editor de origen de OLE DB y asignar los parámetros a variables en el cuadro de diálogo Establecer parámetros de consulta.
Especificar parámetros mediante posiciones ordinales
Si no se devuelven nombres de parámetros, el orden en el que se enumeran los parámetros en la lista Parámetros del cuadro de diálogo Establecer parámetros de consulta determina el marcador de parámetro al que se asignan en tiempo de ejecución. El primer parámetro de la lista se asigna al primer ? en la instrucción SQL, el segundo al segundo ? y así sucesivamente.
La siguiente instrucción SQL selecciona filas de la tabla Products de la base de datos AdventureWorks. El primer parámetro de la lista Asignaciones se asigna al primer parámetro de la columna Color, y el segundo parámetro a la columna Size.
SELECT * FROM Production.Product WHERE Color = ? AND Size = ?
Los nombres de parámetro no tienen ningún efecto. Por ejemplo, si el parámetro tiene el mismo nombre que el de la columna a la que se aplica, pero no está ubicado en la posición ordinal correcta en la lista Parámetros, la asignación de parámetros que se produce en tiempo de ejecución utilizará la posición ordinal del parámetro, en lugar del nombre del parámetro.
El comando EXEC generalmente requiere que utilice los nombres de las variables que proporcionan valores de parámetros en el procedimiento como nombres de parámetros.
Especificar parámetros a través de nombres
Si los nombres de parámetros reales se devuelven de RDBMS, los parámetros que utilizan las instrucciones SELECT y EXEC se asignan por nombre. Los nombres de parámetros deben coincidir con los nombres que espera el procedimiento almacenado, ejecutado por las instrucciones SELECT o EXEC.
La siguiente instrucción SQL ejecuta el procedimiento almacenado uspGetWhereUsedProductID, disponible en la base de datos AdventureWorks.
EXEC uspGetWhereUsedProductID ?, ?
El procedimiento almacenado espera las variables @StartProductID
y @CheckDate
para proporcionar valores de parámetros. El orden en el que los parámetros aparecen en la lista Asignaciones es irrelevante. El único requisito es que los nombres de parámetros coincidan con los nombres de variables en el procedimiento almacenado, incluido el signo @. El orden en el que los parámetros aparecen en la lista Asignaciones es irrelevante.
Asignar parámetros a variables
Los parámetros se asignan a variables que proporcionan los valores de parámetros en tiempo de ejecución. Las variables son generalmente variables definidas por el usuario, aunque también puede utilizar variables del sistema que proporciona Integration Services. Si utiliza variables definidas por el usuario, asegúrese de establecer el tipo de datos en un tipo que sea compatible con el tipo de datos de la columna a la que hace referencia el parámetro asignado. Para obtener más información, vea Variables de Integration Services.
Solucionar problemas del origen de OLE DB
A partir del Service Pack 2 (SP2) de Microsoft SQL Server 2005, puede registrar las llamadas que el origen de OLE DB realiza a proveedores de datos externos. Puede utilizar esta nueva capacidad de registro para solucionar problemas relacionados con la carga de datos desde orígenes de datos externos que realiza el origen de OLE DB. Para registrar las llamadas realizadas por el origen de OLE DB 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 el origen de OLE DB
Puede establecer propiedades mediante programación o a través del Diseñador SSIS.
Para obtener más información acerca de las propiedades que puede establecer en el cuadro de diálogo Editor de origen de OLE DB, haga clic en uno de los temas siguientes:
- Editor de origen de OLE DB (página Administrador de conexión)
- Editor de origen de OLE DB (página Columnas)
- Editor de origen de OLE DB (página Salida de error)
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 extraer datos mediante el origen de OLE DB
- Cómo asignar parámetros de consulta a variables en componentes de flujo de datos
- 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
- Cómo establecer atributos de ordenación en una salida
Vea también
Conceptos
Destino de OLE DB
Variables de Integration Services
Crear un flujo de datos de paquetes
Otros recursos
Orígenes de Integration Services
Ayuda e información
Obtener ayuda sobre SQL Server 2005
Historial de cambios
Versión | Historial |
---|---|
15 de septiembre de 2007 |
|
12 de diciembre de 2006 |
|
5 de diciembre de 2005 |
|