Composants de flux ODBC
S’applique à :SQL Server SSIS Integration Runtime dans Azure Data Factory
Cette rubrique décrit les concepts nécessaires pour créer un flux de données ODBC en utilisant SQL Server 2019 Integration Services (SSIS)
Le connecteur d’Open Database Connectivity (ODBC) pour SQL Server 2019 Integration Services (SSIS) aide les développeurs SSIS à créer facilement des packages qui chargent et déchargent des données dans des bases de données ODBC.
Le connecteur ODBC est conçu pour des performances optimales pendant le chargement ou le déchargement de données dans une base de données ODBC dans le contexte de SQL Server 2019 Integration Services (SSIS).
Avantages
La source ODBC et la destination ODBC pour SQL Server 2019 Integration Services (SSIS) fournissent un avantage concurrentiel à SSIS dans les projets impliquant le chargement ou le déchargement de données dans des bases de données ODBC.
La source ODBC et la destination ODBC permettent d'intégrer des données hautes performances dans les bases de données compatibles ODBC. Ces deux composants peuvent être configurés de manière à utiliser des liaisons de table de paramètres selon les lignes pour les fournisseurs ODBC hautement sollicités qui prennent en charge ce mode de liaison, ainsi que des liaisons de paramètre de ligne unique pour les fournisseurs ODBC peu sollicités.
Prise en main de la source et de la destination ODBC
Avant de pouvoir configurer des packages qui utilisent SQL Server 2019 Integration Services (SSIS), vous devez vérifier la disponibilité des éléments suivants.
La source ODBC et la destination ODBC permettent de décharger et de charger facilement des données et de les transférer d'une base de données source compatible ODBC vers une base de données de destination compatible ODBC.
Pour utiliser la source ou la destination afin de charger ou décharger des données, ouvrez un nouveau projet SQL Server 2019 Integration Services (SSIS) dans SQL Server Data Tools. Faites glisser la source ou la destination sur l’aire de conception de SQL Server Data Tools.
- Le composant source ODBC lit les données dans la base de données source compatible ODBC.
Vous pouvez connecter la source ODBC à n'importe quelle destination ou transformer le composant pris en charge par SSIS.
Voir aussi :
Source ODBC
Éditeur de source ODBC (page Gestionnaire de connexions)
Éditeur de source ODBC (page Sortie d'erreur)
- La destination ODBC charge les données dans une base de données compatible ODBC. Vous connectez la destination à n'importe quelle source ou transformez le composant pris en charge par SSIS.
Voir aussi :
Destination ODBC
Éditeur de destination ODBC (page Gestionnaire de connexions)
Éditeur de destination ODBC (page Sortie d'erreur)
Scénarios d'utilisation
Cette section décrit quelques-unes des principales utilisations des composants sources et de destination ODBC.
Copie en bloc de données de tables SQL Server vers n'importe quelle table de base de données compatible ODBC
Vous pouvez utiliser les composants pour copier en bloc les données d’une ou de plusieurs tables SQL Server dans une même table de base de données ODBC.
L’exemple suivant montre comment créer une tâche de flux de données SSIS qui extrait des données d’une table SQL Server et les charge dans une table DB2.
Créez un projet SQL Server 2019 Integration Services (SSIS) dans SQL Server Data Tools.
Créez un gestionnaire de connexions OLE DB qui se connecte à la base de données SQL Server contenant les données à copier.
Créez un gestionnaire de connexions ODBC qui utilise un pilote ODBC DB2 installé en local avec un DSN pointant vers une base de données DB2 locale ou distante. Cette base de données contient les données chargées à partir de la base de données SQL Server.
Faites glisser une source OLE DB sur l’aire de conception, puis configurez la source pour obtenir les données de la base de données SQL server et la table avec les données à extraire. Utilisez le gestionnaire de connexions OLE DB précédemment créé.
Faites glisser une destination ODBC sur l’aire de conception, connectez la sortie de la source à la destination ODBC, puis configurez la destination pour charger dans la table DB2 les données que vous extrayez de la base de données SQL Server. Utilisez le gestionnaire de connexions ODBC précédemment créé.
Copie en bloc de données de tables de base de données compatibles ODBC vers n'importe quelle table SQL Server
Vous pouvez utiliser les composants pour copier en bloc les données d’une ou de plusieurs tables de base de données ODBC dans une même table de base de données SQL Server.
L’exemple suivant montre comment créer une tâche de flux de données SSIS qui extrait des données d’une table de base de données Sybase et les charge dans une table de base de données SQL Server.
Créez un projet SQL Server 2019 Integration Services (SSIS) dans SQL Server Data Tools
Créez un gestionnaire de connexions ODBC qui utilise un pilote ODBC Sybase installé en local avec un DSN pointant vers une base de données Sybase locale ou distante. Cette base de données est l'emplacement auquel les données sont extraites.
Créez un gestionnaire de connexions OLE DB qui se connecte à la base de données SQL Server où charger les données.
Faites glisser une source ODBC dans l'aire de conception, puis configurez la source de manière à obtenir les données de la base de données Sybase avec la table que vous allez copier. Utilisez le gestionnaire de connexions ODBC précédemment créé.
Faites glisser une destination OLE DB sur l’aire de conception, connectez la sortie de la source à la destination OLE DB, puis configurez la destination pour charger dans la table SQL Server les données que vous extrayez de la base de données Sybase. Utilisez le gestionnaire de connexions OLE DB précédemment créé.
Types de données pris en charge
Les composants SSIS ODBC en bloc prennent en charge tous les types de données ODBC intégrés, notamment les objets volumineux (objets CLOB et BLOB).
Il n’existe aucune prise en charge des types de données pour les types C extensibles tels que décrits dans les spécifications ODBC 3.8. Le tableau suivant décrit les types de données SSIS utilisés pour chaque type SQL ODBC. Un développeur SSIS peut remplacer le mappage par défaut et spécifier un autre type de données SSIS pour les colonnes d'entrée/sortie sans nuire aux performances des conversions de données requises.
Type SQL ODBC | Type de données SSIS | Commentaires |
---|---|---|
SQL_BIT | DT_BOOL | |
SQL_TINYINT | DT_I1 DT_UI1 |
Les types de données SQL sont mappés aux types non signés SSIS (DT_UI1, DT_UI2, DT_UI4, DT_UI8) lorsque le pilote ODBC attribue à UNSIGNED_ATTRIBUTE la valeur SQL_TRUE pour ce type de données SQL. |
SQL_SMALLINT | DT_I2 DT_UI2 |
Les types de données SQL sont mappés aux types non signés SSIS (DT_UI1, DT_UI2, DT_UI4, DT_UI8) lorsque le pilote ODBC attribue à UNSIGNED_ATTRIBUTE la valeur SQL_TRUE pour ce type de données SQL. |
SQL_INTEGER | DT_I4 DTUI4 |
Les types de données SQL sont mappés aux types non signés SSIS (DT_UI1, DT_UI2, DT_UI4, DT_UI8) lorsque le pilote ODBC attribue à UNSIGNED_ATTRIBUTE la valeur SQL_TRUE pour ce type de données SQL. |
SQL_BIGINT | DT_I8 DT_UI8 |
Les types de données SQL sont mappés aux types non signés SSIS (DT_UI1, DT_UI2, DT_UI4, DT_UI8) lorsque le pilote ODBC attribue à UNSIGNED_ATTRIBUTE la valeur SQL_TRUE pour ce type de données SQL. |
SQL_DOUBLE | DT_R8 | |
SQL_FLOAT | DT_R8 | |
SQL_REAL | DT_R4 | |
SQL_NUMERIC (p,s) | DT_NUMERIC (p,s) | Le type de données numérique est mappé à DT_NUMERIC lorsque P est supérieur ou égal à 38, que S est supérieur ou égal à 0 et que S est inférieur ou égal à P. |
DT_R8 | Le type de données numérique est mappé à DT_R8 lorsqu'au moins une des conditions suivantes est remplie : La précision est supérieure à 38 L'échelle est inférieure à zéro L'échelle est supérieure à 38 L'échelle est supérieure à la précision |
|
DT_CY | Le type de données numérique est mappé à DT_CY lorsqu'il est déclaré comme type de données monétaire. | |
SQL_DECIMAL (p,s) | DT_NUMERIC (p,s) | Le type de données décimal est mappé à DT_NUMERIC lorsque P est supérieur ou égal à 38, que S est supérieur ou égal à 0 et que S est inférieur ou égal à P. |
DT_R8 | Le type de données décimal est mappé à DT_R8 lorsqu'au moins une des conditions suivantes est remplie : La précision est supérieure à 38 L'échelle est inférieure à zéro L'échelle est supérieure à 38 L'échelle est supérieure à la précision |
|
DT_CY | Le type de données décimal est mappé à DT_CY lorsqu'il est déclaré comme type de données monétaire. | |
SQL_DATE SQL_TYPE_DATE |
DT_DBDATE | |
SQL_TIME SQL_TYPE_TIME |
DT_DBTIME | |
SQL_TIMESTAMP SQL_TYPE_TIMESTAMP |
DT_DBTIMESTAMP DT_DBTIMESTAMP2 |
Les type de données SQL_TIMESTAMP sont mappés à DT_DBTIMESTAMP2 si l’échelle est supérieure à 3. Dans tous les autres cas, ils sont mappés à DT_DBTIMESTAMP. |
SQL_CHAR SQLVARCHAR |
DT_STR DT_WSTR DT_TEXT DT_NTEXT |
DT_STR est utilisé si la longueur de colonne est inférieure ou égale à 8 000 et si la propriété ExposeStringsAsUnicode a la valeur false. DT_WSTR est utilisé si la longueur de colonne est inférieure ou égale à 8 000 et si la propriété ExposeStringsAsUnicode a la valeur true. DT_TEXT est utilisé si la longueur de colonne est supérieure à 8 000 et si la propriété ExposeStringsAsUnicode a la valeur false. DT_NTEXT est utilisé si la longueur de colonne est supérieure à 8 000 et si la propriété ExposeStringsAsUnicode a la valeur true. |
SQL_LONGVARCHAR | DT_TEXT DT_NTEXT |
DT_NTEXT est utilisé si la propriété ExposeStringsAsUnicode a la valeur true. |
SQL_WCHAR SQL_WVARCHAR |
DT_WSTR DT_NTEXT |
DT_WSTR est utilisé si la longueur de colonne est inférieure ou égale à 4000. DT_NTEXT est utilisé si la longueur de colonne est supérieure à 4000. |
SQL_WLONGVARCHAR | DT_NTEXT | |
SQL_BINARY | DT_BYTE DT_IMAGE |
DT_BYTES est utilisé si la longueur de colonne est inférieure ou égale à 8000. DT_IMAGE si la longueur de colonne est supérieure à 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 | |
Types de données spécifiques au fournisseur | DT_BYTES DT_IMAGE |
DT_BYTES est utilisé si la longueur de colonne est inférieure ou égale à 8000. DT_IMAGE est utilisé si la longueur de colonne est zéro ou supérieure à 8000. |
Dans cette section
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour