Componenti di flusso ODBCODBC Flow Components

In questo argomento vengono descritti i concetti necessari per la creazione di un flusso di dati ODBC tramite SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS)This topic describes the concepts necessary for creating an ODBC data flow using SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS)

Con il connettore per ODBC (Open Database Connectivity) di Attunity per SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS) gli sviluppatori di SSIS possono creare in modo facile pacchetti per il caricamento e lo scaricamento di dati da database supportati da ODBC.The Connector for Open Database Connectivity (ODBC) by Attunity for SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS) helps SSIS developers easily create packages that load and unload data from ODBC-supported databases.

Il connettore ODBC è progettato per ottenere prestazioni ottimali per il caricamento o lo scaricamento dei dati in o da un database supportato da ODBC nel contesto di SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS).The ODBC Connector is designed to achieve optimal performance when loading data into or unloading data from an ODBC-supported database in the context of SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS).

VantaggiBenefits

L'origine ODBC e la destinazione ODBC per SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS) offrono un vantaggio competitivo per SSIS in progetti correlati al caricamento o allo scaricamento di dati in o da database supportati da ODBC.The ODBC source and ODBC destination for SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS) provides a competitive edge for SSIS in projects dealing with loading data into or unloading data from ODBC-supported databases.

Sia l'origine ODBC sia la destinazione ODBC consentono l'integrazione di dati a prestazioni elevate con database abilitati per ODBC.Both the ODBC source and ODBC destination enable high performance data integration with ODBC-enabled databases. È possibile configurare entrambi i componenti per l'utilizzo con associazioni di matrici di parametri a livello di riga per provider ODBC con funzionalità di livello elevato che supportano questa modalità di associazione e associazioni di parametri di singole righe per provider ODBC con funzionalità di basso livello.Both components can be configured to work with row-wise parameter array bindings for high-functioning ODBC providers that support this mode of binding and single-row parameter bindings for low-functioning ODBC providers.

Introduzione all'origine e alla destinazione ODBCGetting Started with the ODBC Source and Destination

Prima che sia possibile configurare pacchetti che utilizzano SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS), è necessario assicurarsi che siano disponibili gli elementi seguenti.Before you can set up packages that use SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS), you must make sure that the following are available.

  • Origine ODBCODBC Source

  • Destinazione ODBCODBC Destination

    L'origine ODBC e la destinazione ODBC offrono un modo semplice per scaricare e caricare dati e trasferire dati da un database di origine supportato da ODBC a un database di destinazione supportato da ODBC.The ODBC source and ODBC destination provide an easy way to unload and load data and transfer data from an ODBC-supported source database to an ODBC-supported destination database.

    Per utilizzare l'origine o la destinazione per caricare o scaricare dati, aprire un nuovo progetto di SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS) in SQL Server Data ToolsSQL Server Data Tools.To use the source or destination to load or unload data, open a new SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS) Project in the SQL Server Data ToolsSQL Server Data Tools. Trascinare quindi l'origine e la destinazione nell'area di progettazione di SQL Server Data ToolsSQL Server Data Tools.Then drag the source or destination onto the design surface of the SQL Server Data ToolsSQL Server Data Tools.

  • Tramite il componente di origine ODBC viene eseguita la lettura dei dati dal database di origine supportato da ODBC.The ODBC source component reads data from the source ODBC-supported database.

    È possibile connettere l'origine ODBC a qualsiasi destinazione o componente di trasformazione supportato da SSIS.You can connect the ODBC source to any destination or transform component supported by SSIS.

    Vedere anche:See also:

    Origine ODBCODBC Source

    Editor origine ODBC (pagina Gestione connessione)ODBC Source Editor (Connection Manager Page)

    Editor origine ODBC (pagina Output degli errori)ODBC Source Editor (Error Output Page)

  • Tramite la destinazione ODBC vengono caricati dati in un database supportato da ODBC.The ODBC destination loads data into an ODBC-supported database. È possibile connettere la destinazione a qualsiasi origine o componente di trasformazione supportato da SSIS.You connect the destination to any source or transform component supported by SSIS.

    Vedere anche:See also:

    Destinazione ODBCODBC Destination

    Editor destinazione ODBC (pagina Gestione connessione)ODBC Destination Editor (Connection Manager Page)

    Editor destinazione ODBC (pagina Output errori)ODBC Destination Editor (Error Output Page)

Scenari operativiOperating Scenarios

In questa sezione vengono descritti alcuni degli utilizzi principali per i componenti di origine e di destinazione ODBC.This section describes some of the main uses for the ODBC source and destination components.

Copia bulk di dati da tabelle di SQL Server a qualsiasi tabella di database supportata da ODBCBulk Copy Data from SQL Server tables to any ODBC-Supported database table

È possibile usare i componenti per eseguire la copia bulk di dati da una o più tabelle di SQL ServerSQL Server a un'unica tabella di database supportata da ODBC.You can use the components to bulk copy data from one or more SQL ServerSQL Server tables to a single ODBC-supported database table.

Nell'esempio seguente viene illustrato come creare un'attività Flusso di dati SSIS per l'estrazione di dati da una tabella di SQL ServerSQL Server e il caricamento dei dati in una tabella DB2.The following example shows how to create an SSIS Data Flow Task that extracts data from a SQL ServerSQL Server table and loads it into a DB2 table.

  • Creare un progetto di SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS) in SQL Server Data ToolsSQL Server Data Tools.Create an SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS) Project in the SQL Server Data ToolsSQL Server Data Tools.

  • Creare una gestione connessione OLE DB connessa al database di SQL ServerSQL Server che contiene i dati che si desidera copiare.Create an OLE DB connection manager that connects to the SQL ServerSQL Server database that contains the data you want to copy.

  • Creare una gestione connessione ODBC che utilizza un driver ODBC DB2 installato localmente con un DSN che punta a un database DB2 locale o remoto.Create an ODBC connection manager that uses a locally installed DB2 ODBC driver with a DSN pointing to a local or remote DB2 database. In questo database vengono caricati i dati dal database di SQL ServerSQL Server .This database is where the data from the SQL ServerSQL Server database is loaded.

  • Trascinare un'origine OLE DB nell'area di progettazione, quindi configurare l'origine per ottenere i dati dal database e dalla tabella di SQL ServerSQL Server con i dati che si intende estrarre.Drag an OLE DB source to the design surface, then configure the source to get the data from the SQL ServerSQL Server database and table with the data you are going to extract. Utilizzare la gestione connessione OLE DB creata in precedenza.Use the OLE DB connection manager you created previously.

  • Trascinare una destinazione ODBC nell'area di progettazione, connettere l'output di origine alla destinazione ODBC, quindi configurare la destinazione per il caricamento dei dati nella tabella DB2 con i dati estratti dal database di SQL ServerSQL Server .Drag an ODBC destination to the design surface, connect the source output to the ODBC destination, then configure the destination to load the data into the DB2 table with the data you extract from the SQL ServerSQL Server database. Utilizzare la gestione connessione ODBC creata in precedenza.Use the ODBC connection manager you created previously.

Copia bulk di dati da tabelle di database supportate da ODBC a qualsiasi tabella di SQL ServerBulk Copy Data from ODBC-supported database tables to any SQL Server table

È possibile utilizzare i componenti per eseguire la copia bulk di dati da una o più tabelle di database supportate da ODBC a un'unica tabella di database di SQL ServerSQL Server .You can use the components to bulk copy data from one or more ODBC-supported database tables to a single SQL ServerSQL Server database table.

Nell'esempio seguente viene illustrato come creare un'attività Flusso di dati SSIS per l'estrazione di dati da una tabella di database Sybase e il caricamento dei dati in una tabella di database di SQL ServerSQL Server .The following example shows how to create an SSIS Data Flow Task that extracts data from a Sybase database table and loads it into a SQL ServerSQL Server database table.

  • Creare un progetto di SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS) in SQL Server Data ToolsSQL Server Data ToolsCreate an SQL Server 2017 Integration Services (SSIS)SQL Server 2017 Integration Services (SSIS) Project in the SQL Server Data ToolsSQL Server Data Tools

  • Creare una gestione connessione ODBC che utilizza un driver ODBC Sybase installato localmente con un DSN che punta a un database Sybase locale o remoto.Create an ODBC connection manager that uses a locally installed Sybase ODBC driver with a DSN pointing to a local or remote Sybase database. In questo database vengono estratti i dati.This database is where the data is extracted.

  • Creare una gestione connessione OLE DB connessa al database di SQL ServerSQL Server in cui si desidera caricare i dati.Create an OLE DB connection manager that connects to the SQL ServerSQL Server database where you want to load the data.

  • Trascinare un'origine ODBC nell'area di progettazione, quindi configurare l'origine per ottenere i dati dalla tabella Sybase con i dati che si intende copiare.Drag an ODBC source to the design surface, then configure the source to get the data from the Sybase table with the data you are going to copy. Utilizzare la gestione connessione ODBC creata in precedenza.Use the ODBC connection manager you created previously.

  • Trascinare una destinazione OLE DB nella superficie di progettazione, connettere l'output di origine alla destinazione OLE DB, quindi configurare la destinazione per il caricamento dei dati nella tabella di SQL ServerSQL Server con i dati estratti dal database Sybase.Drag an OLE DB destination to the design surface, connect the source output to the OLE DB destination, then configure the destination to load the data into the SQL ServerSQL Server table with the data you extract from the Sybase database. Utilizzare la gestione connessione OLE DB creata in precedenza.Use the OLE DB connection manager you created previously.

Tipi di dati supportatiSupported Data Types

I componenti SSIS di copia bulk ODBC supportano tutti i tipi di dati ODBC predefiniti e includono il supporto per oggetti di grandi dimensioni (CLOB e BLOB).The ODBC Bulk SSIS components support all built-in ODBC data types, including support for large objects (CLOBs and BLOBs).

I tipi di dati C estensibili non sono supportati, come descritto nelle specifiche di ODBC 3.8. La tabella seguente descrive quali tipi di dati SSIS vengono usati per ogni tipo SQL ODBC.There is no data type support for extensible C types as described in the ODBC 3.8 specifications.The following table describes which SSIS data types are used for each ODBC SQL type. Uno sviluppatore di SSIS può eseguire l'override del mapping predefinito e specificare un tipo di dati SSIS diverso per le colonne di input/output senza influire sulle prestazioni per le conversioni di dati necessarie.An SSIS developer can override the default mapping and specify a different SSIS data type for input/output columns without impacting the performance for the required data conversions.

Tipo SQL ODBCODBC SQL Type Tipo di dati SSISSSIS Data Type CommentiComments
SQL_BITSQL_BIT DT_BOOLDT_BOOL
SQL_TINYINTSQL_TINYINT DT_I1DT_I1

DT_UI1DT_UI1
Viene eseguito il mapping dei tipi di dati SQL a tipi SSIS Unsigned (DT_UI1, DT_UI2, DT_UI4, DT_UI8) quando tramite il driver ODBC viene impostato UNSIGNED_ATTRIBUTE su SQL_TRUE per il tipo di dati SQL.SQL data types are mapped to SSIS unsigned types (DT_UI1, DT_UI2, DT_UI4, DT_UI8) when the ODBC driver sets the UNSIGNED_ATTRIBUTE to SQL_TRUE for that SQL data type.
SQL_SMALLINTSQL_SMALLINT DT_I2DT_I2

DT_UI2DT_UI2
Viene eseguito il mapping dei tipi di dati SQL a tipi SSIS Unsigned (DT_UI1, DT_UI2, DT_UI4, DT_UI8) quando tramite il driver ODBC viene impostato UNSIGNED_ATTRIBUTE su SQL_TRUE per il tipo di dati SQL.SQL data types are mapped to SSIS unsigned types (DT_UI1, DT_UI2, DT_UI4, DT_UI8) when the ODBC driver sets the UNSIGNED_ATTRIBUTE to SQL_TRUE for that SQL data type.
SQL_INTEGERSQL_INTEGER DT_I4DT_I4

DTUI4DTUI4
Viene eseguito il mapping dei tipi di dati SQL a tipi SSIS Unsigned (DT_UI1, DT_UI2, DT_UI4, DT_UI8) quando tramite il driver ODBC viene impostato UNSIGNED_ATTRIBUTE su SQL_TRUE per il tipo di dati SQL.SQL data types are mapped to SSIS unsigned types (DT_UI1, DT_UI2, DT_UI4, DT_UI8) when the ODBC driver sets the UNSIGNED_ATTRIBUTE to SQL_TRUE for that SQL data type.
SQL_BIGINTSQL_BIGINT DT_I8DT_I8

DT_UI8DT_UI8
Viene eseguito il mapping dei tipi di dati SQL a tipi SSIS Unsigned (DT_UI1, DT_UI2, DT_UI4, DT_UI8) quando tramite il driver ODBC viene impostato UNSIGNED_ATTRIBUTE su SQL_TRUE per il tipo di dati SQL.SQL data types are mapped to SSIS unsigned types (DT_UI1, DT_UI2, DT_UI4, DT_UI8) when the ODBC driver sets the UNSIGNED_ATTRIBUTE to SQL_TRUE for that SQL data type.
SQL_DOUBLESQL_DOUBLE DT_R8DT_R8
SQL_FLOATSQL_FLOAT DT_R8DT_R8
SQL_REALSQL_REAL DT_R4DT_R4
SQL_NUMERIC (p,s)SQL_NUMERIC (p,s) DT_NUMERIC (p,s)DT_NUMERIC (p,s) Viene eseguito il mapping del tipo di dati numeric a DT_NUMERIC quando P è maggiore o uguale a 38 e S è maggiore o uguale a 0 e minore o uguale a P.The numeric data type is mapped to DT_NUMERIC when P is greater than or equal to 38 and S is greater than or equal to 0 and S is less than or equal to P.
DT_R8DT_R8 Viene eseguito il mapping del tipo di dati numeric a DT_R8 quando si verifica almeno una delle condizioni seguenti:The numeric data type is mapped to DT_R8 when at least one of the following is true:

La precisione è maggiore di 38Precision is greater than 38

La scala è minore di zeroScale is less than zero

La scala è maggiore di 38Scale is greater than 38

La scala è maggiore della precisioneScale is greater than Precision
DT_CYDT_CY Viene eseguito il mapping del tipo di dati numeric a DT_CY quando il tipo di dati numeric viene dichiarato come tipo di dati money.The numeric data type is mapped to DT_CY when it is declared as a money data type.
SQL_DECIMAL (p,s)SQL_DECIMAL (p,s) DT_NUMERIC (p,s)DT_NUMERIC (p,s) Viene eseguito il mapping del tipo di dati decimal a DT_NUMERIC quando P è maggiore o uguale a 38 e S è maggiore o uguale a 0 e minore o uguale a P.The decimal data type is mapped to DT_NUMERIC when P is greater than or equal to 38 and S is greater than or equal to 0 and S is less than or equal to P.
DT_R8DT_R8 Viene eseguito il mapping del tipo di dati decimal a DT_R8 quando si verifica almeno una delle condizioni seguenti:The decimal data type is mapped to DT_R8 when at least one of the following is true:

La precisione è maggiore di 38Precision is greater than 38

La scala è minore di zeroScale is less than zero

La scala è maggiore di 38Scale is greater than 38

La scala è maggiore della precisioneScale is greater than Precision
DT_CYDT_CY Viene eseguito il mapping del tipo di dati decimal a DT_CY quando il tipo di dati decimal viene dichiarato come tipo di dati money.The decimal data type is mapped to DT_CY when it is declared as a money data type.
SQL_DATESQL_DATE

SQL_TYPE_DATESQL_TYPE_DATE
DT_DBDATEDT_DBDATE
SQL_TIMESQL_TIME

SQL_TYPE_TIMESQL_TYPE_TIME
DT_DBTIMEDT_DBTIME
SQL_TIMESTAMPSQL_TIMESTAMP

SQL_TYPE_TIMESTAMPSQL_TYPE_TIMESTAMP
DT_DBTIMESTAMPDT_DBTIMESTAMP

DT_DBTIMESTAMP2DT_DBTIMESTAMP2
Viene eseguito il mapping dei tipi di dati SQL_TIMESTAMP a DT_DBTIMESTAMP2 se la scala è maggiore di 3.SQL_TIMESTAMP data types are mapped to DT_DBTIMESTAMP2 if scale is greater than 3. In tutti gli altri casi, viene eseguito il mapping dei tipi di dati a DT_DBTIMESTAMP.In all other cases, they are mapped to DT_DBTIMESTAMP.
SQL_CHARSQL_CHAR

SQLVARCHARSQLVARCHAR
DT_STRDT_STR

DT_WSTRDT_WSTR

DT_TEXTDT_TEXT

DT_NTEXTDT_NTEXT
DT_STR viene usato se la lunghezza di colonna è minore o uguale a 8000 e la proprietà ExposeStringsAsUnicode è false.DT_STR is used if the column length is less than or equal to 8000 and the ExposeStringsAsUnicode property is false.

DT_WSTR viene usato se la lunghezza di colonna è minore o uguale a 8000 e la proprietà ExposeStringsAsUnicode è true.DT_WSTR is used if the column length is less than or equal to 8000 and the ExposeStringsAsUnicode property is true.

DT_TEXT viene usato se la lunghezza di colonna è maggiore di 8000 e la proprietà ExposeStringsAsUnicode è false.DT_TEXT is used if the column length is greater than 8000 and the ExposeStringsAsUnicode property is false.

DT_NTEXT viene usato se la lunghezza di colonna è maggiore di 8000 e la proprietà ExposeStringsAsUnicode è true.DT_NTEXT is used if the column length is greater than 8000 and the ExposeStringsAsUnicode property is true.
SQL_LONGVARCHARSQL_LONGVARCHAR DT_TEXTDT_TEXT

DT_NTEXTDT_NTEXT
DT_NTEXT viene usato se la proprietà ExposeStringsAsUnicode è true.DT_NTEXT is used if the ExposeStringsAsUnicode property is true.
SQL_WCHARSQL_WCHAR

SQL_WVARCHARSQL_WVARCHAR
DT_WSTRDT_WSTR

DT_NTEXTDT_NTEXT
DT_WSTR viene utilizzato se la lunghezza di colonna è minore o uguale a 4000.DT_WSTR is used if the column length is less than or equal to 4000.

DT_NTEXT viene utilizzato se la lunghezza di colonna è maggiore di 4000.DT_NTEXT is used if the column length is greater than 4000.
SQL_WLONGVARCHARSQL_WLONGVARCHAR DT_NTEXTDT_NTEXT
SQL_BINARYSQL_BINARY DT_BYTEDT_BYTE

DT_IMAGEDT_IMAGE
DT_BYTES viene utilizzato se la lunghezza di colonna è minore o uguale a 8000.DT_BYTES is used if the column length is less than or equal to 8000.

DT_IMAGE viene utilizzato se la lunghezza di colonna è maggiore di 8000.DT_IMAGE if the column length is greater than 8000.
SQL_LONGVARBINARYSQL_LONGVARBINARY DT_IMAGEDT_IMAGE
SQL_GUIDSQL_GUID DT_GUIDDT_GUID
SQL_INTERVAL_YEARSQL_INTERVAL_YEAR

SQL_INTERVAL_MONTHSQL_INTERVAL_MONTH

SQL_INTERVAL_DAYSQL_INTERVAL_DAY

SQL_INTERVAL_HOURSQL_INTERVAL_HOUR

SQL_INTERVAL_MINUTESQL_INTERVAL_MINUTE

SQL_INTERVAL_SECONDSQL_INTERVAL_SECOND

SQL_INTERVAL_YEAR_TO_MONTHSQL_INTERVAL_YEAR_TO_MONTH

SQL_INTERVAL_DAY_TO_HOURSQL_INTERVAL_DAY_TO_HOUR

SQL_INTERVAL_DAY_TO_MINUTESQL_INTERVAL_DAY_TO_MINUTE

SQL_INTERVAL_DAY_TO_SECONDSQL_INTERVAL_DAY_TO_SECOND

SQL_INTERVAL_HOUR_TO_MINUTESQL_INTERVAL_HOUR_TO_MINUTE

SQL_INTERVAL_HOUR_TO_SECONDSQL_INTERVAL_HOUR_TO_SECOND

SQL_INTERVAL_MINUTE_TO_SECONDSQL_INTERVAL_MINUTE_TO_SECOND
DT_WSTRDT_WSTR
Tipi di dati specifici del providerProvider Specific Data Types DT_BYTESDT_BYTES

DT_IMAGEDT_IMAGE
DT_BYTES viene utilizzato se la lunghezza di colonna è minore o uguale a 8000.DT_BYTES is used if the column length is less than or equal to 8000.

DT_IMAGE viene utilizzato se la lunghezza di colonna è uguale a zero o maggiore di 8000.DT_IMAGE is used if the column length is zero or greater than 8000.

Contenuto della sezioneIn This Section