Componenti di flusso ODBC
Si applica a:SQL Server SSIS Integration Runtime in Azure Data Factory
In questo argomento vengono descritti i concetti necessari per la creazione di un flusso di dati ODBC tramite SQL Server 2019 Integration Services (SSIS)
Con il connettore per ODBC (Open Database Connectivity) per SQL Server 2019 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.
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 2019 Integration Services (SSIS).
Vantaggi
L'origine ODBC e la destinazione ODBC per SQL Server 2019 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.
Sia l'origine ODBC sia la destinazione ODBC consentono l'integrazione di dati a prestazioni elevate con database abilitati per ODBC. È 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.
Introduzione all'origine e alla destinazione ODBC
Prima che sia possibile configurare pacchetti che usano SQL Server 2019 Integration Services (SSIS), è necessario assicurarsi che siano disponibili gli elementi seguenti.
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.
Per usare l'origine o la destinazione per caricare o scaricare i dati, aprire un nuovo progetto di SQL Server 2019 Integration Services (SSIS) in SQL Server Data Tools. Trascinare quindi l'origine e la destinazione nell'area di progettazione di SQL Server Data Tools.
- Tramite il componente di origine ODBC viene eseguita la lettura dei dati dal database di origine supportato da ODBC.
È possibile connettere l'origine ODBC a qualsiasi destinazione o componente di trasformazione supportato da SSIS.
Vedere anche:
Origine ODBC
Editor origine ODBC (pagina Gestione connessione)
Editor origine ODBC (pagina Output degli errori)
- Tramite la destinazione ODBC vengono caricati dati in un database supportato da ODBC. È possibile connettere la destinazione a qualsiasi origine o componente di trasformazione supportato da SSIS.
Vedere anche:
Destinazione ODBC
Editor destinazione ODBC (pagina Gestione connessione)
Editor destinazione ODBC (pagina Output errori)
Scenari operativi
In questa sezione vengono descritti alcuni degli utilizzi principali per i componenti di origine e di destinazione ODBC.
Copia bulk di dati da tabelle di SQL Server a qualsiasi tabella di database supportata da ODBC
È possibile usare i componenti per eseguire la copia bulk di dati da una o più tabelle di SQL Server a un'unica tabella di database supportata da ODBC.
Nell'esempio seguente viene illustrato come creare un'attività Flusso di dati SSIS per l'estrazione di dati da una tabella di SQL Server e il caricamento dei dati in una tabella DB2.
Creare un progetto di SQL Server 2019 Integration Services (SSIS) in SQL Server Data Tools.
Creare una gestione connessione OLE DB connessa al database di SQL Server che contiene i dati da copiare.
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. In questo database vengono caricati i dati dal database di SQL Server.
Trascinare un'origine OLE DB nell'area di progettazione, quindi configurare l'origine per recuperare i dati dal database e dalla tabella di SQL Server con i dati che si intende estrarre. Utilizzare la gestione connessione OLE DB creata in precedenza.
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 Server. Utilizzare la gestione connessione ODBC creata in precedenza.
Copia bulk di dati da tabelle di database supportate da ODBC a qualsiasi tabella di SQL Server
È possibile usare 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 Server.
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 Server.
Creare un progetto di SQL Server 2019 Integration Services (SSIS) in SQL 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. In questo database vengono estratti i dati.
Creare una gestione connessione OLE DB connessa al database di SQL Server in cui si vogliono caricare i dati.
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. Utilizzare la gestione connessione ODBC creata in precedenza.
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 Server con i dati estratti dal database Sybase. Utilizzare la gestione connessione OLE DB creata in precedenza.
Tipi di dati supportati
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).
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. 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.
Tipo SQL ODBC | Tipo di dati SSIS | Commenti |
---|---|---|
SQL_BIT | DT_BOOL | |
SQL_TINYINT | DT_I1 DT_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_SMALLINT | DT_I2 DT_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_INTEGER | DT_I4 DTUI4 |
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_BIGINT | DT_I8 DT_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_DOUBLE | DT_R8 | |
SQL_FLOAT | DT_R8 | |
SQL_REAL | DT_R4 | |
SQL_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. |
DT_R8 | Viene eseguito il mapping del tipo di dati numeric a DT_R8 quando si verifica almeno una delle condizioni seguenti: La precisione è maggiore di 38 La scala è minore di zero La scala è maggiore di 38 La scala è maggiore della precisione |
|
DT_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. | |
SQL_DECIMAL (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. |
DT_R8 | Viene eseguito il mapping del tipo di dati decimal a DT_R8 quando si verifica almeno una delle condizioni seguenti: La precisione è maggiore di 38 La scala è minore di zero La scala è maggiore di 38 La scala è maggiore della precisione |
|
DT_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. | |
SQL_DATE SQL_TYPE_DATE |
DT_DBDATE | |
SQL_TIME SQL_TYPE_TIME |
DT_DBTIME | |
SQL_TIMESTAMP SQL_TYPE_TIMESTAMP |
DT_DBTIMESTAMP DT_DBTIMESTAMP2 |
Viene eseguito il mapping dei tipi di dati SQL_TIMESTAMP a DT_DBTIMESTAMP2 se la scala è maggiore di 3. In tutti gli altri casi, viene eseguito il mapping dei tipi di dati a DT_DBTIMESTAMP. |
SQL_CHAR SQLVARCHAR |
DT_STR DT_WSTR DT_TEXT DT_NTEXT |
DT_STR viene usato se la lunghezza di colonna è minore o uguale a 8000 e la proprietà ExposeStringsAsUnicode è false. DT_WSTR viene usato se la lunghezza di colonna è minore o uguale a 8000 e la proprietà ExposeStringsAsUnicode è true. DT_TEXT viene usato se la lunghezza di colonna è maggiore di 8000 e la proprietà ExposeStringsAsUnicode è false. DT_NTEXT viene usato se la lunghezza di colonna è maggiore di 8000 e la proprietà ExposeStringsAsUnicode è true. |
SQL_LONGVARCHAR | DT_TEXT DT_NTEXT |
DT_NTEXT viene usato se la proprietà ExposeStringsAsUnicode è true. |
SQL_WCHAR SQL_WVARCHAR |
DT_WSTR DT_NTEXT |
DT_WSTR viene utilizzato se la lunghezza di colonna è minore o uguale a 4000. DT_NTEXT viene utilizzato se la lunghezza di colonna è maggiore di 4000. |
SQL_WLONGVARCHAR | DT_NTEXT | |
SQL_BINARY | DT_BYTE DT_IMAGE |
DT_BYTES viene utilizzato se la lunghezza di colonna è minore o uguale a 8000. DT_IMAGE viene utilizzato se la lunghezza di colonna è maggiore di 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 | |
Tipi di dati specifici del provider | DT_BYTES DT_IMAGE |
DT_BYTES viene utilizzato se la lunghezza di colonna è minore o uguale a 8000. DT_IMAGE viene utilizzato se la lunghezza di colonna è uguale a zero o maggiore di 8000. |
In questa sezione
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per