Les transports de base de données permettent de transférer des données d'une base de données vers
un pipeline. Pour utiliser un transport de base de données, indiquez-en un à l'aide d'un
URI (Universal Resource Identifer).
Remarque : Le transport de base de données n'est pas compatible avec IBM DB2 sous z/OS.
Le transport
de base de données utilise le format suivant :
"type://nom_utilisateur:mot_de_passe@base_de_données/?table=nom_table&order=table&timeout=secondes&concurrency=N"
Remarque : Etant donné qu'une partie des caractères utilisés dans ce transport sont des caractères
spéciaux des environnements de ligne de commande (en particulier les signes ? et &),
si vous indiquez ce transport sur une ligne de commande, vous devez le mettre entièrement
entre guillemets. Par exemple: pipeline -d -t "db2://up@db/?table=tn_source&order=table"
- type://
- Paramètre obligatoire qui indique que la méthode de transport est une base de données et qui
précise le type de cette base de données.
- Les valeurs admises sont les suivantes :
- oci:// pour les bases de données Oracle
- mssql:// pour les bases de donnéesMicrosoft SQL
- db2:// pour les bases de données DB2
- nom_utilisateur:mot de passe@nom_bdd
- Ce paramètre en englobe en fait plusieurs : nom_utilisateur:mot_de_passe et@nom_bdd.
- nom_utilisateur:mot_de_passe : paramètre
qui indique le nom de connexion de l'utilisateur et le mot de passe correspondant pour la
base de données nommée. Si votre système n'est pas configuré pour utiliser l'authentification de
base de données sécurisée ou de système d'exploitation, vous devez saisir ces paramètres avec le paramètre de
nom de la base de données.
- @nom_bdd : paramètre requis qui indique le nom de la base
de données à partir de laquelle vous transportez des données. Si votre système est configuré
pour utiliser l'authentification de base de données sécurisée, il vous suffit d'entrer le paramètre
de nom de la base de données.
- Exemples par base de données :
- Bases de données Oracle configurées pour utiliser l'authentification sécurisée : :@relres_sid (inutile de
saisir les paramètres nom_utilisateur:mot_de_passe).
- Bases de données Oracle non configurées pour appliquer l'authentification sécurisée : rr:passw0rd@relres_sid
- Bases de données Microsoft SQL utilisant des connexions sécurisées : @relres_dsn (inutile de
saisir les paramètres nom_utilisateur:mot_de_passe).
- Bases de données Microsoft SQL non configurées pour utiliser les connexions sécurisées : rr:passw0rd@relres
- Bases de données DB2 configurées pour utiliser l'authentification sécurisée : @relres (inutile de
saisir les paramètres nom_utilisateur:mot_de_passe).
- Bases de données DB2 non configurées pour appliquer l'authentification sécurisée: rr:passw0rd@relres
- /?table=nom_table
- Paramètre obligatoire qui indique la table de la base de données (nommée
dans le paramètre @nom_bdd) où les opérations de lecture et
d'écriture seront effectuées.
- &order=nom_table
- Paramètre facultatif qui indique dans quel ordre extraire et traiter les
données à partir de la table nommée.
- Cette option peut être utilisée lorsqu'il n'existe aucun impératif de priorisation
concernant les données à charger. Sur certains systèmes de base de données, vous pouvez améliorer
les performances quand l'ordre dans lequel les enregistrements sont extraits de la table correspond
à l'ordre naturel sélectionné par la base de données. Cette option permet de à la base de données de
renvoyer les enregistrements de la façon la plus efficace, qui correspond souvent à l'ordre dans
lequel les enregistrements ont été insérés.
- Pour que les tables soient compatibles avec le transport de base de données, elles doivent être
conformes à l'agencement de colonne ci-dessous :
Tableau 1. Mappage de l'ordre des colonnes figurant dans les tables de base de données
dans le cadre de l'URI de transport de la base de donnéesColonne |
Type |
Description/valeur |
Index |
LOAD_SEQ |
INTEGER, NOT NULL |
Indique la priorité du message. Les valeurs possibles
sont 0, 1, 2 et 3 :- 0 indique une priorité critique
- 1 indique une priorité élevée
- 2 indique une priorité normale
- 3 indique une priorité faible
|
Non unique sur LOAD_SEQ, uniquement si le paramètre &order=nom_table n'est pas indiqué |
OWNER |
VARCHAR 256 |
Le pipeline attribue un identificateur unique à cette colonne au cours du
traitement, afin d'empêcher les autres pipelines de dupliquer le travail. |
Non unique |
LOCK_TIME |
INTEGER 64-BIT |
Définissez ce paramètre pour indiquer l'heure (en millisecondes d'époque)
à laquelle l'enregistrement a été verrouillé. |
(Aucun) |
MSG |
BLOB ou VARCHAR (en cas de taille XML maximum, cette valeur est toujours
inférieure à la taille VARCHAR) |
Message UMF entrant. |
(Aucun) |
- &schema=nom_schéma
- Ce paramètre DB2 facultatif permet de spécifier le nom d'un schéma DB2
personnalisé.
Remarque : La fonction de schéma DB2 personnalisé n'est pas compatible
avec le générateur de rapports du visualiseur et de la console de configuration.
Si vous spécifiez un schéma DB2 personnalisé, les rapports du visualiseur et de la console de configuration ne fonctionneront pas.
- &timeout=n
- Ce paramètre facultatif indique le délai (en secondes) pendant lequel le pipeline
attend une réponse de la base de données avant expiration.
- Si vous ne définissez pas ce paramètre, le transport tente trois fois d'obtenir une
réponse avant d'expirer.
- &concurrency=n
- Ce paramètre facultatif vous permet de spécifier le nombre d'enregistrements entrants
(un entier positif supérieur ou égal à 0) pouvant être extraits simultanément par le transport
de base de données pour le traitement de pipeline. Plus ce nombre est élevé, plus les
enregistrements extraits pour le traitement sont nombreux.
- Par exemple, un paramètre de simultanéité ("concurrency") égal à 0 indique que les enregistrements ne doivent pas être traités. Un paramètre de simultanéité égal à 1 indique que les enregistrements doivent être traités un par un.
Si vous ne définissez pas ce paramètre, le nombre par défaut d'enregistrements
entrants extraits simultanément est de 5, sauf indication contraire de votre
par.
- Vous devez coordonner ce paramètre avec le nombre d'unités d'exécution de traitement de pipeline engendrées par le paramètre de simultanéité du fichier de configuration de pipeline ou par
le groupe de paramètres système DEFAULT_CONCURRENCY de la console de configuration.
Le paramètre de simultanéité détermine le nombre d'unités d'exécution de traitement de pipeline qui sont lancées simultanément au démarrage d'un pipeline.
Si votre système est défini pour engendrer plusieurs unités d'exécution de traitement de pipeline pour chaque pipeline démarré, vous pouvez augmenter ce paramètre de simultanéité de sorte que les unités d'exécution de pipeline n'attendent pas que les enregistrements soient traités.
Exemples de transports de base de données
db2://CCadmin:passw0rd@Customers/?table=table2
A l'aide de cet exemple de transport de base de données, le système
lit les enregistrements entrants dans la base de données DB2 nommée
"Customers" et la table appelée "table2", sachant que le nom de connexion
est "CCadmin" et le mot de passe correspondant "passw0rd".