Write to DB

Le stage Write to DB écrit la sortie d'un dataflow dans une base de données.

Remarque : Une amélioration significative des performances peut être obtenue en utilisant de multiples instances d'exécution de Write to DB. Pour indiquer plusieurs instances d'exécution, cliquez sur le bouton Exécution.

Onglet Général

Nom de l'option

Description

Connexion

Sélectionnez la connexion à la base de données que vous souhaitez utiliser. Pour effectuer une nouvelle connexion de base de données, cliquez sur Gérer. Pour plus d'informations sur la création des connexions de bases de données, consultez le Gestionnaire de connexion à la base de données.

Table/Vue

Après avoir sélectionné une connexion, spécifiez la vue ou la table pour l'écriture. Cliquez sur le bouton Parcourir ([...]) pour accéder à la table ou vue à utiliser, ou cliquez sur Créer une table pour créer une table dans la base de données.

Remarque : Si vous écrivez sur une base de données SQL, vous ne pouvez pas écrire dans les vues qui font référence à plus d'une table. Cela est dû à une limitation dans SQL Server.

Créer une table

Crée une table dans la base de données sélectionnée. Sélectionnez le propriétaire de la table dans le champ Table owner et indiquez le nom de la nouvelle table dans le champ Table name. Les noms de table sont sensibles à la casse. Indiquez une clé principale en cochant une case de la colonne Clé principale. Par ailleurs, indiquez les champs à écrire dans la nouvelle table en cochant la case correspondante dans la colonne Inclure. La colonne Largeur indique la largeur du champ pour le type de données chaîne. Par défaut, cette valeur est 512. Si la colonne Autoriser null est cochée et que Champs d'entrée contient une valeur null, le dataflow écrit la valeur null dans la base de données. Vous pouvez modifier le nom de la colonne en modifiant la valeur dans la colonne Champs de sortie.

Le bouton Créer une table prend en charge la création de table dans les bases de données suivantes :

  • Axion
  • DB2
  • Derby/Cloudscape
  • Firebird
  • HSQLDB
  • Interbase
  • MaxDB/SapDB
  • McKoi
  • MySQL
  • Oracle
  • PostgreSQL
  • SQL Server
  • Sybase
Remarque : Pour les bases de données DB2, si vous essayez de créer une table et que la taille de page est inférieure à la longueur totale de toutes les colonnes de chaîne, vous obtiendrez une erreur indiquant « Échec de la création du corps à partir du contenu. La classe sérialisable n'est pas disponible pour le broker. »

Champs de stage

Dans la colonne Champs de stage, vous pouvez indiquer le champ à écrire dans le champ de base de données présenté dans la colonne Champ de base de données.

Include

La colonne Inclure vous permet de sélectionner les champs pour écriture.

Remarque : Pour éviter des performances faibles, vous devez disposer d'un index ou d'une clé triée dans la table de base de données.
Remarque : Le stage Write to DB écrit toutes les valeurs du type de données date sous forme de valeurs String. Il s’agit du comportement du pilote jTDS, qui est le pilote par défaut utilisé par Spectrum. Pour gérer toutes les valeurs du type de données date en l'état, utilisez le pilote JDBC de Microsoft.

Gestionnaire de connexion à la base de données

Le Gestionnaire de connexion à la base de données vous permet de gérer les connexions aux bases de données enregistrées. Pour ajouter, modifier, supprimer et tester des connexions, procédez comme suit :

  1. Dans la boîte de dialogue Options de Write To DB, cliquez sur Gérer.
  2. Cliquez sur Ajouter, Modifier, ou Supprimer.
  3. Si vous ajoutez ou modifiez une connexion de base de données, remplissez ces champs :
    • Nom de la connexion : saisissez le nom de la nouvelle connexion.
    • Pilote de base de données : sélectionnez le type de base de données approprié.
    • Options de connexion : indiquez toutes les options, généralement, l'hôte, le port, l'instance, le nom utilisateur et le mot de passe.
    Remarque : Vous pouvez tester la connexion en cliquant sur Test.
  4. Si vous supprimez une connexion de base de données, sélectionnez la connexion qui doit être supprimée et cliquez sur Supprimer.

L'onglet Exécution

Nom de l'option

Description

Mode Écriture

Indique le type de mesures à prendre lors de l'écriture sur la base de données. L'un des éléments suivants :

Insérer
Insérer les nouveaux enregistrements dans la base de données mais ne pas mettre à jour les enregistrements existants. Il s'agit du paramètre par défaut.
Mettre à jour
Mettre à jour des enregistrements existants dans la base de données, mais ne pas insérer de nouveaux enregistrements
Remarque : Si vous sélectionnez Mettre à jour, le nom de la colonne de clé primaire utilisé dans la table d'entrée doit correspondre au nom de la colonne de clé primaire dans la table de sortie. Si vous essayez de mettre à jour une table où le nom de la colonne de clé primaire ne correspond pas à l'entrée, ou bien où la colonne de clé primaire n'est pas définie, la mise à jour ne fonctionnera pas.
Insérer si impossible de mettre à jour
Insérer de nouveaux enregistrements dans la base de données si l'enregistrement n'existe pas, sinon mettre à jour l'enregistrement existant.

Validation en lot

Sélectionnez cette option pour valider les modifications sur la base de données après avoir indiqué un nombre d'enregistrements à traiter. Par défaut, cette option n'est pas sélectionnée, ce qui signifie que les modifications sont validées après le traitement de chaque enregistrement. Sélectionner cette option peut considérablement améliorer la performance du stage Write to DB.

Taille des lots

L'activation de l'option Validation en lot spécifie le nombre d'enregistrements à valider sur la base de données dans chaque lot. La valeur par défaut est 1 000. Pour vos dataflow créés dans Spectrum™ Technology Platform 7.0 et versions antérieures, la valeur par défaut est 100.

Une taille de lot plus grande n'offre pas toujours de meilleures performances de chargement. Tenez compte des facteurs suivants au moment de choisir une taille de lot :

  • Taux d'arrivée des données au stage Write To DB : si les données arrivent à un taux plus lent que ce que la base de données peut traiter, la modification de la taille de lot ne permettra pas d'améliorer les performances générales du dataflow. Par exemple, les dataflow avec la validation d'adresse ou le géocodage ne peuvent pas bénéficier d'un accroissement de taille.
  • Trafic réseau : pour les réseaux lents, l'augmentation de la taille des lots à une taille de lot moyenne (1 000 à 10 000) se traduit par de meilleures performances.
  • Vitesse de chargement et/ou de traitement de la base de données : pour les bases de données dotées d'une importante puissance de traitement, l'augmentation de la taille de lot permettra d'améliorer les performances.
  • Instances d'exécution multiples : si vous utilisez plusieurs instances d'exécution du stage Write to DB, une taille de lot volumineuse va consommer beaucoup de mémoire ; il est donc préférable d'utiliser une taille de lot petite ou moyenne (100 à 10 000).
  • Restauration de base de données : chaque fois qu'une instruction échoue, l'ensemble du lot est restauré. Plus la taille du lot est volumineuse, plus l'opération de restauration est longue.
Valider à la fin Sélectionnez cette option pour être sûr que l'opération de validation de la base de données se produise après le transfert de tous les enregistrements à la base de données.
Nombre de lots à valider Indiquez une valeur suite à laquelle les enregistrements doivent être validés. Les enregistrements sont validés dans la base de données après chaque nombre (Nombre de lots à valider * taille de lot) d'enregistrements transférés à la base de données. Par exemple, si Taille de lot est défini sur 1 000 et Nombre de lots à valider sur 3, la validation s'effectue à chaque transfert de 3 000 enregistrements vers la base de données.

Tronquer la table avant d’insérer les données

Sélectionnez cette option si vous voulez effacer toutes les données de la table avant d'écrire sur la base de données.

Ignorer la table si elle existe déjà et la recréer.

Sélectionnez cette option pour supprimer et recréer la table avant d'écrire la sortie du dataflow dans la table. Cette option est utile si vous souhaitez que le schéma de la table corresponde aux champs du dataflow et ne contienne pas d'informations de schéma superflues.

La table qui sera supprimée et recréée est celle indiquée dans le champ Table/View dans l'onglet General. Par exemple, si vous indiquez la table Clients dans le champ Table/View et que vous sélectionnez Drop and recreate the table if it already exists, la table Clients sera supprimée de la base de données et une nouvelle table nommée Clients sera créée avec un schéma qui correspond aux champs réels écrits dans la table.