Destination OLE DB

S’applique à : ouiSQL Server (toutes les versions prises en charge) oui Runtime d’intégration SSIS dans Azure Data Factory

La destination OLE DB charge des données dans différentes bases de données compatibles OLE DB à l'aide d'une table ou d'une vue de base de données ou d'une commande SQL. Par exemple, la source OLE DB peut charger des données dans des tables de bases de données Microsoft Office Access et SQL Server .

Notes

Si la source de données est Microsoft Office Excel 2007, la source de données requiert un gestionnaire de connexions différent des versions antérieures d'Excel. Pour plus d’informations, consultez Établir une connexion à un classeur Excel.

La destination OLE DB propose cinq modes d'accès différents pour charger les données :

  • Une table ou une vue. Vous pouvez indiquer une table ou une vue existante, ou créer une table ;

  • une table ou une vue et des options de chargement rapide. Vous pouvez indiquer une table existante ou en créer une ;

  • Une table ou une vue spécifiée dans une variable.

  • une table ou une vue spécifiée dans une variable et des options de chargement rapide ;

  • Les résultats d'une instruction SQL.

Notes

La destination OLE DB ne prend pas en charge les paramètres. Si vous devez exécuter une instruction INSERT paramétrable, envisagez d'utiliser la transformation de commande OLE DB. Pour plus d’informations, consultez OLE DB Command Transformation.

Lorsque la destination OLE DB charge des données qui utilisent un jeu de caractères codés sur deux octets (DBCS), les données risquent d'être endommagées si le mode d'accès aux données n'utilise pas l'option de chargement rapide et si le gestionnaire de connexions OLE DB utilise le fournisseur Microsoft OLE DB pour SQL Server SQL Server (SQLOLEDB). Pour garantir l'intégrité des données DBCS, vous devez configurer le gestionnaire de connexions OLE DB pour utiliser SQL Server Native Client ou l'un des modes d'accès avec chargement rapide : Table ou vue - chargement rapide ou Variable de nom de table ou de vue - chargement rapide. Ces deux options sont disponibles dans la boîte de dialogue Éditeur de destination OLE DB . Quand vous programmez le modèle d’objet SSIS , vous devez définir la propriété AccessMode sur OpenRowset à l’aide de FastLoadou OpenRowset à l’aide de FastLoad à partir de Variable.

Notes

Si vous utilisez la boîte de dialogue Éditeur de destination OLE DB dans le concepteur SSIS pour créer la table de destination dans laquelle la destination OLE DB insère des données, vous devrez peut-être sélectionner la table que vous venez de créer manuellement. La sélection manuelle est nécessaire lorsqu'un fournisseur OLE DB tel que le fournisseur OLE DB pour DB2, ajoute manuellement des identificateurs de schéma au nom de la table.

Notes

L'instruction CREATE TABLE que la boîte de dialogue Éditeur de destination OLE DB génère peut nécessiter une modification selon le type de destination. Par exemple, certaines destinations ne prennent pas en charge les types de données que l'instruction CREATE TABLE utilise.

Cette destination utilise un gestionnaire de connexions OLE DB pour se connecter à une source de données et le gestionnaire de connexions indique le fournisseur OLE DB à utiliser. Pour plus d’informations, consultez OLE DB Connection Manager.

Un projet Integration Services contient également l'objet de source de données à partir duquel vous pouvez créer un gestionnaire de connexions OLE DB afin de rendre les sources de données et les vues de sources de données disponibles pour la destination OLE DB.

Une destination OLE DB inclut des mappages entre les colonnes d'entrée et les colonnes de la source de données de destination. Vous n'avez pas besoin de mapper les colonnes d'entrée à toutes les colonnes de destination, mais en fonction des propriétés des colonnes de destination, des erreurs peuvent se produire si aucune colonne d'entrée n'est mappée aux colonnes de destination. Par exemple, si une colonne de destination n'autorise pas les valeurs null, une colonne d'entrée doit être mappée à cette colonne. Par ailleurs, les types de données des colonnes mappées doivent être compatibles. Par exemple, vous ne pouvez pas mapper une colonne d'entrée avec un type de données string à une colonne de destination avec un type de données numeric.

La destination OLE DB comporte une entrée normale et une sortie d'erreur.

Pour plus d'informations sur les types de données, consultez Integration Services Data Types.

Options de chargement rapide

Si la destination OLE DB utilise un mode d’accès aux données par chargement rapide, vous pouvez spécifier les options de chargement rapide dans l’interface utilisateur, Éditeur de destination OLE DB, pour la destination :

  • Conserver les valeurs d'identité du fichier de données importé ou utiliser les valeurs uniques affectées par SQL Server.

  • Conserver une valeur null pendant l'opération de chargement en masse.

  • Vérifier les contraintes sur la table ou la vue cible au cours de l'opération d'importation en masse.

  • Acquisition d'un verrou au niveau de la table pour la durée de l'opération de chargement en masse.

  • Spécifier le nombre de lignes dans le traitement et la taille de validation.

Certaines options de chargement rapide sont stockées dans des propriétés spécifiques de la destination OLE DB. Par exemple, FastLoadKeepIdentity spécifie s’il convient de conserver des valeurs d’identification, FastLoadKeepNulls précise s’il faut conserver des valeurs NULL et FastLoadMaxInsertCommitSize spécifie le nombre de lignes à valider en tant que traitement. D’autres options de chargement rapide sont stockées dans une liste séparée par des virgules dans la propriété FastLoadOptions. Si la destination OLE DB utilise toutes les options de chargement rapide qui sont stockées dans FastLoadOptions et répertoriées dans la boîte de dialogue Éditeur de destination OLE DB , la propriété prend la valeur TABLOCK, CHECK_CONSTRAINTS, ROWS_PER_BATCH=1000. La valeur 1 000 indique que la destination est configurée pour utiliser des traitements de 1 000 lignes.

Notes

Tout échec de contrainte à la destination entraîne l’échec de la totalité du lot de lignes définies par FastLoadMaxInsertCommitSize.

Outre les options de chargement rapide dévoilées dans la boîte de dialogue Éditeur de destination OLE DB , vous pouvez configurer la destination OLE DB afin d’utiliser les options de chargement en masse suivantes en tapant les options dans la propriété FastLoadOptions, dans la boîte de dialogue Éditeur avancé .

Option de chargement rapide Description
KILOBYTES_PER_BATCH Indique la taille à insérer en kilo-octets. L’option a la forme KILOBYTES_PER_BATCH = <positive integer value> .
FIRE_TRIGGERS Spécifie si des déclencheurs sont activés sur la table d'insertion. L’option a la forme FIRE_TRIGGERS. La présence de l'option indique que des déclencheurs sont activés.
ORDER Spécifie comment les données d'entrée sont triées. L’option a la forme ORDER <column name> ASC|DESC. Il n'y a pas de limite quant au nombre de colonnes indiquées et la spécification de l'ordre de tri est facultative. Si l'ordre de tri est omis, l'opération d'insertion part du principe que les données ne sont pas triées.

Remarque : Les performances peuvent être améliorées si vous utilisez l'option ORDER pour trier des données d'entrée selon l'index cluster de la table.

Les mots clés Transact-SQL sont traditionnellement tapés en majuscules, mais ils ne tiennent pas compte de la casse.

Pour en savoir plus sur les options de chargement rapide, consultez BULK INSERT (Transact-SQL).

Résolution des problèmes liés à la destination OLE DB

Vous pouvez consigner les appels que la destination OLE DB effectue vers des fournisseurs de données externes. Cette fonctionnalité de journalisation permet de résoudre des problèmes liés à l'enregistrement de données vers des sources de données externes que réalise la destination OLE DB. Pour consigner les appels que la destination OLE DB effectue vers des fournisseurs de données externes, activez la journalisation de package et sélectionnez l'événement Diagnostic au niveau du package. Pour plus d’informations, consultez Outils de dépannage pour l’exécution des packages.

Configuration de la destination OLE DB

Vous pouvez définir les propriétés par le biais du concepteur SSIS ou par programmation.

La boîte de dialogue Éditeur avancé reflète les propriétés qui peuvent être définies par programmation. Pour plus d'informations sur les propriétés définissables dans la boîte de dialogue Éditeur avancé ou par programmation, cliquez sur l'une des rubriques suivantes :

Pour plus d'informations sur la définition des propriétés, cliquez sur l'une des rubriques suivantes :

Éditeur de destination OLE DB (page Gestionnaire de connexions)

Utilisez la page Gestionnaire de connexions de la boîte de dialogue Éditeur de destination OLE DB pour sélectionner la connexion OLE DB de la destination. Cette page vous permet également de sélectionner une table ou une vue à partir de la base de données.

Notes

Si la source de données est Microsoft Office Excel 2007, la source de données requiert un gestionnaire de connexions différent des versions antérieures d'Excel. Pour plus d’informations, consultez Établir une connexion à un classeur Excel.

Notes

La propriété CommandTimeout de la destination OLE DB n’est pas disponible dans l’Éditeur de destination OLE DB, mais peut être définie à l’aide de l’Éditeur avancé. De plus, certaines options de chargement rapide sont uniquement disponibles dans l’Éditeur avancé. Pour plus d’informations sur ces propriétés, consultez la section sur la destination OLE DB dans Propriétés personnalisées OLE DB.

La propriété CommandTimeout prend effet uniquement lorsque le mode d’accès aux données est Commande SQL.

Options statiques

Gestionnaire de connexions OLE DB
Sélectionnez un gestionnaire de connexions existant dans la liste ou créez une nouvelle connexion en cliquant sur Nouveau.

Nouveau
Créez un gestionnaire de connexions à l’aide de la boîte de dialogue Configurer le gestionnaire de connexions OLE DB .

Mode d'accès aux données
Spécifiez la méthode de chargement des données dans la destination. Le chargement de données du jeu de caractères codés sur deux octets (DBCS) nécessite l'utilisation d'une des options de chargement rapide. Pour plus d’informations sur les modes d’accès aux données à chargement rapide, qui sont optimisés pour les insertions en bloc, consultez Destination OLE DB.

Option Description
Table ou vue Chargez les données dans une table ou une vue de la destination OLE DB.
Table ou vue - chargement rapide Chargez les données dans une table ou une vue de la destination OLE DB et utilisez l'option de chargement rapide. Pour plus d’informations sur les modes d’accès aux données à chargement rapide, qui sont optimisés pour les insertions en bloc, consultez Destination OLE DB.
Variable de nom de table ou de vue Spécifiez le nom de la table ou de la vue dans une variable.

Informations connexes : Utiliser des variables dans des packages
Variable de nom de table ou de vue - chargement rapide Spécifiez le nom de la table ou de la vue dans une variable et chargez les données à l'aide de l'option de chargement rapide. Pour plus d’informations sur les modes d’accès aux données à chargement rapide, qui sont optimisés pour les insertions en bloc, consultez Destination OLE DB.
Commande SQL Chargez les données dans la destination OLE DB à l'aide d'une requête SQL.

Préversion
Affichez un aperçu des résultats à l’aide de la boîte de dialogue Visualiser les résultats de la requête . L'aperçu peut afficher jusqu'à 200 lignes.

Options dynamiques du mode d'accès aux données

Chacun des paramètres Mode d’accès aux données affiche un jeu dynamique d’options spécifiques au paramètre en question. Les sections suivantes décrivent chacune des options dynamiques disponibles pour chaque paramètre Mode d’accès aux données .

Mode d'accès aux données = Table ou vue

Nom de la table ou de la vue
Sélectionnez le nom de la table ou de la vue dans la liste de celles qui sont disponibles dans la source de données.

Nouveau
Utilisez la boîte de dialogue Créer une table pour créer une table.

Notes

Quand vous cliquez sur Nouvelle, Integration Services génère une instruction CREATE TABLE par défaut, basée sur la source de données connectée. Cette instruction CREATE TABLE par défaut n'inclut pas l'attribut FILESTREAM, même si la table source inclut une colonne dans laquelle l'attribut FILESTREAM est déclaré. Pour exécuter un composant Integration Services avec l'attribut FILESTREAM, implémentez d'abord le stockage FILESTREAM sur la base de données de destination. Ajoutez ensuite l’attribut FILESTREAM à l’instruction CREATE TABLE dans la boîte de dialogue Créer une table . Pour plus d’informations, consultez Données blob (Binary Large Object) (SQL Server).

Mode d’accès aux données = Table ou vue - chargement rapide

Nom de la table ou de la vue
Sélectionnez une table ou une vue dans la base de données à l’aide de cette liste, ou créez une table en cliquant sur Nouveau.

Nouveau
Utilisez la boîte de dialogue Créer une table pour créer une table.

Notes

Quand vous cliquez sur Nouvelle, Integration Services génère une instruction CREATE TABLE par défaut, basée sur la source de données connectée. Cette instruction CREATE TABLE par défaut n'inclut pas l'attribut FILESTREAM, même si la table source inclut une colonne dans laquelle l'attribut FILESTREAM est déclaré. Pour exécuter un composant Integration Services avec l'attribut FILESTREAM, implémentez d'abord le stockage FILESTREAM sur la base de données de destination. Ajoutez ensuite l’attribut FILESTREAM à l’instruction CREATE TABLE dans la boîte de dialogue Créer une table . Pour plus d’informations, consultez Données blob (Binary Large Object) (SQL Server).

Conserver l'identité
Spécifiez si les valeurs d'identité doivent être copiées lors du chargement des données. Cette propriété n'est disponible qu'avec l'option de chargement rapide. La valeur par défaut de cette propriété est false.

Conserver les valeurs NULL
Spécifiez si les valeurs NULL doivent être copiées lors du chargement des données. Cette propriété n'est disponible qu'avec l'option de chargement rapide. La valeur par défaut de cette propriété est false.

Verrou de table
Spécifiez si la table est verrouillée pendant le chargement. La valeur par défaut de cette propriété est true.

Contraintes de validation
Spécifiez si la destination vérifie les contraintes lors du chargement des données. La valeur par défaut de cette propriété est true.

Lignes par lot
Permet d'indiquer le nombre de lignes contenues dans un traitement. La valeur par défaut de cette propriété est -1, ce qui signifie qu’aucune valeur n’a été attribuée.

Notes

Effacez la zone de texte dans l’Éditeur de destination OLE DB pour indiquer que vous ne voulez pas assigner de valeur personnalisée à cette propriété.

Taille de validation d'insertion maximale
Spécifiez la taille du lot que la destination OLE DB tente de valider pendant les opérations de chargement rapide. La valeur 0 indique que toutes les données sont validées dans un seul lot après traitement de toutes les lignes.

Notes

Une valeur de 0 peut faire en sorte que le package en cours d’exécution cesse de répondre si la destination OLE DB et un autre composant de flux de données mettent à jour la même table source. Pour empêcher que le package ne s’arrête, affectez la valeur 2147483647 à l’option Taille de validation d’insertion maximale.

Si vous spécifiez une valeur pour cette propriété, la destination valide les lignes par lot qui ont la plus petite taille entre (a) la Taille de validation d’insertion maximaleet (b) les lignes restantes dans le tampon qui sont en cours de traitement.

Notes

Tout échec de contrainte à la destination entraîne l’échec de la totalité du lot de lignes définies par la Taille de validation d’insertion maximale .

Mode d'accès aux données = Variable de nom de table ou de vue

Nom de la variable
Sélectionnez la variable qui contient le nom de la table ou de la vue.

Mode d’accès aux données = Variable de nom de table ou de vue - chargement rapide

Nom de la variable
Sélectionnez la variable qui contient le nom de la table ou de la vue.

Nouveau
Utilisez la boîte de dialogue Créer une table pour créer une table.

Notes

Quand vous cliquez sur Nouvelle, Integration Services génère une instruction CREATE TABLE par défaut, basée sur la source de données connectée. Cette instruction CREATE TABLE par défaut n'inclut pas l'attribut FILESTREAM, même si la table source inclut une colonne dans laquelle l'attribut FILESTREAM est déclaré. Pour exécuter un composant Integration Services avec l'attribut FILESTREAM, implémentez d'abord le stockage FILESTREAM sur la base de données de destination. Ajoutez ensuite l’attribut FILESTREAM à l’instruction CREATE TABLE dans la boîte de dialogue Créer une table . Pour plus d’informations, consultez Données blob (Binary Large Object) (SQL Server).

Conserver l'identité
Spécifiez si les valeurs d'identité doivent être copiées lors du chargement des données. Cette propriété n'est disponible qu'avec l'option de chargement rapide. La valeur par défaut de cette propriété est false.

Conserver les valeurs NULL
Spécifiez si les valeurs NULL doivent être copiées lors du chargement des données. Cette propriété n'est disponible qu'avec l'option de chargement rapide. La valeur par défaut de cette propriété est false.

Verrou de table
Spécifiez si la table est verrouillée pendant le chargement. La valeur par défaut de cette propriété est false.

Contraintes de validation
Spécifiez si la tâche vérifie les contraintes. La valeur par défaut de cette propriété est false.

Lignes par lot
Permet d'indiquer le nombre de lignes contenues dans un traitement. La valeur par défaut de cette propriété est -1, ce qui signifie qu’aucune valeur n’a été attribuée.

Notes

Effacez la zone de texte dans l’Éditeur de destination OLE DB pour indiquer que vous ne voulez pas assigner de valeur personnalisée à cette propriété.

Taille de validation d'insertion maximale
Spécifiez la taille du lot que la destination OLE DB tente de valider pendant les opérations de chargement rapide. La valeur par défaut, 2147483647 , indique que toutes les données sont validées dans un seul lot après traitement de toutes les lignes.

Notes

Une valeur de 0 peut faire en sorte que le package en cours d’exécution cesse de répondre si la destination OLE DB et un autre composant de flux de données mettent à jour la même table source. Pour empêcher que le package ne s’arrête, affectez la valeur 2147483647 à l’option Taille de validation d’insertion maximale.

Mode d'accès aux données = Commande SQL

Texte de la commande SQL
Entrez le texte d’une requête SQL, générez la requête en cliquant sur Générer une requêteou recherchez le fichier qui contient le texte de la requête en cliquant sur Parcourir.

Notes

La destination OLE DB ne prend pas en charge les paramètres. Si vous devez exécuter une instruction INSERT paramétrable, envisagez d'utiliser la transformation de commande OLE DB. Pour plus d’informations, consultez OLE DB Command Transformation.

Construire une requête
Utilisez la boîte de dialogue Générateur de requêtes pour construire la requête SQL visuellement.

Parcourir
Dans la boîte de dialogue Ouvrir , localisez le fichier qui contient le texte de la requête SQL.

Analyser la requête
Vérifiez la syntaxe du texte de la requête.

Éditeur de destination OLE DB (page Mappages)

La page Mappages de la boîte de dialogue Éditeur de destination OLE DB vous permet de mapper les colonnes d’entrée aux colonnes de destination.

Options

Colonnes d'entrée disponibles
Affichez la liste des colonnes d'entrée disponibles. Au moyen du glisser-déplacer, mappez les colonnes d'entrée disponibles dans la table sur des colonnes de destination.

Colonnes de destination disponibles
Affichez la liste des colonnes de destination disponibles. Utilisez une opération de glisser-déplacer pour mapper les colonnes de destination disponibles dans la table aux colonnes d'entrée.

Colonne d'entrée
Affichez les colonnes d’entrée que vous avez sélectionnées. Vous pouvez supprimer des mappages en sélectionnant <ignore> pour exclure des colonnes de la sortie.

Colonne de destination
Indique chaque colonne de destination disponible, qu'elle soit mappée ou non.

Éditeur de destination OLE DB (page Sortie d'erreur)

Utilisez la page Sortie d'erreur de la boîte de dialogue Éditeur de destination OLE DB pour définir les options de gestion des erreurs.

Options

Entrée/sortie
Affichez le nom de l'entrée.

Colonne
Non utilisé.

Error
Indiquez ce qui doit se produire lorsqu'une erreur se produit : ignorer l'échec, rediriger la ligne ou faire échouer le composant.

Rubriques connexes : Gestion des erreurs dans les données

Troncation
Non utilisé.

Description
Affichez la description de l'opération.

Définir cette valeur sur les cellules sélectionnées
Indiquez ce qui doit se produire pour l'ensemble des cellules sélectionnées lorsqu'une erreur ou une troncation se produit : ignorer l'échec, rediriger la ligne ou faire échouer le composant.

Appliquer
Appliquez l'option de gestion des erreurs aux cellules sélectionnées.

Source OLE DB

Variables Integration Services (SSIS)

Flux de données