Componentes del flujo de ODBC
Se aplica a:SQL Server SSIS Integration Runtime en Azure Data Factory
En este tema se describen los conceptos necesarios para crear un flujo de datos ODBC mediante SQL Server 2019 Integration Services (SSIS).
El conector para conectividad abierta de base de datos (ODBC) para SQL Server 2019 Integration Services (SSIS) ayuda a los desarrolladores de SSIS a crear fácilmente paquetes que cargan y descargan los datos de las bases de datos que admiten ODBC.
El conector ODBC se ha diseñado para lograr un rendimiento óptimo al cargar o descargar datos en una base de datos que admite ODBC en el contexto de SQL Server 2019 Integration Services (SSIS).
Ventajas
El origen ODBC y el destino ODBC para SQL Server 2019 Integration Services (SSIS) aportan valor al uso de SSIS en los proyectos que se ocupan de cargar o descargar los datos en las bases de datos que admiten ODBC.
El origen y el destino ODBC permiten la integración de datos de alto rendimiento con las bases de datos habilitadas para ODBC. Ambos componentes pueden configurarse para trabajar con enlaces de matriz de parámetros de fila para los proveedores ODBC con una gran funcionalidad que admiten este modo de enlace y con enlaces de parámetros de una sola fila para los proveedores ODBC con pocas funciones.
Introducción al origen y el destino ODBC
Para configurar paquetes que usan SQL Server 2019 Integration Services (SSIS), debe asegurarse de que dispone de lo siguiente.
El origen ODBC y el destino ODBC proporcionan una forma sencilla de descargar, cargar y transferir los datos desde una base de datos de origen que admite ODBC a una base de datos de destino que admite ODBC.
Para usar el origen o el destino para cargar o descargar datos, abra un nuevo proyecto de SQL Server 2019 Integration Services (SSIS) en SQL Server Data Tools. Después, arrastre el origen o el destino a la superficie de diseño de SQL Server Data Tools.
- El componente de origen ODBC lee los datos de la base de datos que admite ODBC de origen.
Puede conectar el origen ODBC a un destino o transformar el componente que admite SSIS.
Consulte también:
Origen ODBC
Editor de origen de ODBC (página Administrador de conexiones)
Editor de origen de ODBC (página Salida de error)
- El destino ODBC carga los datos en una base de datos que admite ODBC. Puede conectar el destino a un origen o transformar el componente que admite SSIS.
Consulte también:
Destino ODBC
Editor de destino de ODBC (página Administrador de conexiones)
Editor de destinos de ODBC (página Salida de error)
Escenarios operativos
En esta sección se describen algunos de los usos principales de los componentes de origen y de destino ODBC.
Copia masiva de datos de tablas de SQL Server a alguna tabla de base de datos que admite ODBC
Puede usar los componentes para copiar los datos de forma masiva de una o más tablas de SQL Server en una única tabla de base de datos que admite ODBC.
El ejemplo siguiente muestra cómo crear una tarea Flujo de datos SSIS que extrae los datos de una tabla de SQL Server y los carga en una tabla DB2.
Cree un proyecto de SQL Server 2019 Integration Services (SSIS) en SQL Server Data Tools.
Cree un administrador de conexiones OLE DB que se conecta a la base de datos de SQL Server que contiene los datos que desea copiar.
Cree un administrador de conexiones ODBC que use un controlador DB2 ODBC instalado localmente con un DSN que señala a una base de datos DB2 local o remota. Esta base de datos es donde se cargan los datos de la base de datos de SQL Server.
Arrastre un origen OLE DB a la superficie de diseño, después de configurar el origen para obtener los datos de la base de datos de SQL Server y la tabla con los datos que se van a extraer. Use el administrador de conexiones OLE DB que creó anteriormente.
Arrastre un destino ODBC a la superficie de diseño, conecte la salida de origen con el destino ODBC y configure el destino para cargar los datos en la tabla DB2 con los datos que extraiga de la base de datos de SQL Server. Use el administrador de conexiones ODBC que creó anteriormente.
La copia masiva de datos de tablas de base de datos que admiten ODBC a alguna tabla de SQL Server
Puede usar los componentes para copiar los datos de forma masiva de una o varias tablas de base de datos que admiten ODBC a una sola tabla de base de datos de SQL Server.
En el ejemplo siguiente se muestra cómo crear una tarea Flujo de datos SSIS que extrae los datos de una tabla de base de datos de Sybase y los carga en una tabla de base de datos de SQL Server.
Cree un proyecto de SQL Server 2019 Integration Services (SSIS) en SQL Server Data Tools.
Cree un administrador de conexiones ODBC que use un controlador Sybase ODBC instalado localmente con un DSN que señala a una base de datos de Sybase. De esta base de datos se extraen los datos.
Cree un administrador de conexiones OLE DB que se conecte a la base de datos de SQL Server donde desee cargar los datos.
Arrastre un origen ODBC a la superficie de diseño, después configure el origen para obtener los datos de la tabla de Sybase con los datos que va a copiar. Use el administrador de conexiones ODBC que creó anteriormente.
Arrastre un destino OLE DB a la superficie de diseño, conecte la salida de origen con el destino OLE DB y configure el destino para cargar los datos en la tabla de SQL Server con los datos que extraiga de la base de datos de Sybase. Use el administrador de conexiones OLE DB que creó anteriormente.
Tipos de datos admitidos
Los componentes de SSIS masivo ODBC admiten todos los tipos de datos ODBC integrados, incluida la compatibilidad con objetos grandes (CLOB y BLOB).
No hay compatibilidad con los tipos de datos de C extensibles, como se describe en las especificaciones de ODBC 3.8. En la tabla siguiente se describe qué tipos de datos de SSIS se usan para cada tipo SQL de ODBC. Un desarrollador de SSIS puede invalidar la asignación predeterminada y especificar un tipo de datos de SSIS para las columnas de entrada/salida sin afectar al rendimiento de las conversiones de datos necesarias.
Tipo SQL ODBC | Tipo de datos de SSIS | Comentarios |
---|---|---|
SQL_BIT | DT_BOOL | |
SQL_TINYINT | DT_I1 DT_UI1 |
Los tipos de datos SQL se asignan a los tipos sin signo de SSIS (DT_UI1, DT_UI2, DT_UI4, DT_UI8) cuando el controlador ODBC establece el UNSIGNED_ATTRIBUTE en SQL_TRUE para ese tipo de datos SQL. |
SQL_SMALLINT | DT_I2 DT_UI2 |
Los tipos de datos SQL se asignan a los tipos sin signo de SSIS (DT_UI1, DT_UI2, DT_UI4, DT_UI8) cuando el controlador ODBC establece el UNSIGNED_ATTRIBUTE en SQL_TRUE para ese tipo de datos SQL. |
SQL_INTEGER | DT_I4 DTUI4 |
Los tipos de datos SQL se asignan a los tipos sin signo de SSIS (DT_UI1, DT_UI2, DT_UI4, DT_UI8) cuando el controlador ODBC establece el UNSIGNED_ATTRIBUTE en SQL_TRUE para ese tipo de datos SQL. |
SQL_BIGINT | DT_I8 DT_UI8 |
Los tipos de datos SQL se asignan a los tipos sin signo de SSIS (DT_UI1, DT_UI2, DT_UI4, DT_UI8) cuando el controlador ODBC establece el UNSIGNED_ATTRIBUTE en SQL_TRUE para ese tipo de datos SQL. |
SQL_DOUBLE | DT_R8 | |
SQL_FLOAT | DT_R8 | |
SQL_REAL | DT_R4 | |
SQL_NUMERIC (p,s) | DT_NUMERIC (p,s) | El tipo de datos numérico se asigna a DT_NUMERIC cuando P es mayor o igual que 38 y S es mayor o igual que 0 y S menor o igual que P. |
DT_R8 | El tipo de datos numérico se asigna a DT_R8 cuando se cumple al menos una de las siguientes condiciones: La precisión es mayor que 38. La escala es menor que cero La escala es mayor que 38 La escala es mayor que la precisión |
|
DT_CY | El tipo de datos numérico se asigna a DT_CY cuando se declara como un tipo de datos money. | |
SQL_DECIMAL (p,s) | DT_NUMERIC (p,s) | El tipo de datos decimal se asigna a DT_NUMERIC cuando P es mayor o igual que 38 y S es mayor o igual que 0 y S menor o igual que P. |
DT_R8 | El tipo de datos decimal se asigna a DT_R8 cuando se cumple al menos una de las siguientes condiciones: La precisión es mayor que 38. La escala es menor que cero La escala es mayor que 38 La escala es mayor que la precisión |
|
DT_CY | El tipo de datos decimal se asigna a DT_CY cuando se declara como un tipo de datos money. | |
SQL_DATE SQL_TYPE_DATE |
DT_DBDATE | |
SQL_TIME SQL_TYPE_TIME |
DT_DBTIME | |
SQL_TIMESTAMP SQL_TYPE_TIMESTAMP |
DT_DBTIMESTAMP DT_DBTIMESTAMP2 |
Los tipos de datos SQL_TIMESTAMP se asignan a DT_DBTIMESTAMP2 si la escala es mayor que 3. En los demás casos, se asignan a DT_DBTIMESTAMP. |
SQL_CHAR SQLVARCHAR |
DT_STR DT_WSTR DT_TEXT DT_NTEXT |
Se usa DT_STR si la longitud de la columna es menor o igual que 8000 y la propiedad ExposeStringsAsUnicode es false. Se usa DT_WSTR si la longitud de la columna es menor o igual que 8000 y la propiedad ExposeStringsAsUnicode es true. DT_TEXT se usa si la longitud de la columna es mayor que 8000 y la propiedad ExposeStringsAsUnicode es false. DT_NTEXT se usa si la longitud de la columna es mayor que 8000 y la propiedad ExposeStringsAsUnicode es true. |
SQL_LONGVARCHAR | DT_TEXT DT_NTEXT |
Se usa DT_NTEXT si la propiedad ExposeStringsAsUnicode es true. |
SQL_WCHAR SQL_WVARCHAR |
DT_WSTR DT_NTEXT |
Se utiliza DT_WSTR si la longitud de la columna es menor o igual que 4000. Se utiliza DT_NTEXT si la longitud de la columna es mayor que 4000. |
SQL_WLONGVARCHAR | DT_NTEXT | |
SQL_BINARY | DT_BYTE DT_IMAGE |
Se utiliza DT_BYTES si la longitud de la columna es menor o igual que 8000. DT_IMAGE si la longitud de la columna es mayor que 8000. |
SQL_LONGVARBINARY | DT_IMAGE | |
SQL_GUID | DT_GUID | |
SQL_INTERVAL_YEAR SQL_INTERVAL_MONTH SQL_INTERVAL_DAY SQL_INTERVAL_HOUR SQL_INTERVAL_MINUTE SQL_INTERVAL_SECOND SQL_INTERVAL_YEAR_TO_MONTH SQL_INTERVAL_DAY_TO_HOUR SQL_INTERVAL_DAY_TO_MINUTE SQL_INTERVAL_DAY_TO_SECOND SQL_INTERVAL_HOUR_TO_MINUTE SQL_INTERVAL_HOUR_TO_SECOND SQL_INTERVAL_MINUTE_TO_SECOND |
DT_WSTR | |
Tipos de datos específicos del proveedor | DT_BYTES DT_IMAGE |
Se utiliza DT_BYTES si la longitud de la columna es menor o igual que 8000. Se utiliza DT_IMAGE si la longitud de la columna es cero o mayor que 8000. |
En esta sección
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de