Commandes d'adaptateur JDBC

-URL connection_string

Définit la connexion spécifique du pilote JDBC à une base de données. Pour plus de détails, voir la documentation relative au pilote JDBC. En règle générale, le format de la commande est :

-URL jdbc:driver://host:port/database[?custom_settings]
-USER user_name

Nom d'utilisateur de la connexion. Cette commande est facultative. Pour de nombreux pilotes, vous pouvez spécifier le nom d’utilisateur dans la chaîne de connexion. Certains pilotes peuvent utiliser une authentification autre que le nom d’utilisateur et le mot de passe, et certains pilotes peuvent ne pas nécessiter d’authentification.

-PASSWORD password

Mot de passe permettant la connexion. Cette commande est facultative pour les raisons décrites dans la commande -USER.

-DRIVER driver_class

Nom de classe Java qualifié complet pour l’implémentation de l’interface java.sql.Driver dans le pilote JDBC, généralement fourni dans la documentation du pilote. Cette commande est facultative. Si vous omettez la commande -DRIVER, l’adaptateur recherche tous les pilotes disponibles pour localiser le pilote spécifié dans la chaîne de connexion URL.

-AUTOCOMMIT {default | on | off}

Contrôle la manière dont les instructions SQL que le pilote JDBC effectue sont validées. Le journal de trace de l’adaptateur inclut le paramètre -AUTOCOMMIT lorsque la journalisation est définie sur verbose.

par défaut
Utilisez le paramètre par défaut spécifique au pilote et à la base de données.
le
Valide automatiquement les instructions SQL que l’adaptateur JDBC effectue.
désactivé
Ne valide pas automatiquement les instructions SQL que l’adaptateur JDBC effectue.
-CATALOG catalog_name
Premier composant d’un nom de procédure qualifié complet (catalog.schema.procedure) ou d'un nom de table (catalog.schema.table).
  • catalog_name est sensible à la casse.
  • N'ajoutez pas de guillemets (" ") autour du nom du catalogue.

Cette commande est facultative. L’adaptateur l’ignore si le pilote JDBC ne le prend pas en charge.

-SCHEMA schema_name
Deuxième composant d’un nom de procédure qualifié complet (catalog.schema.procedure) ou d'un nom de table (catalog.schema.table).
  • schema_name est sensible à la casse.
  • N'ajoutez pas de guillemets (" ") autour du nom du schéma.

Cette commande est facultative. L’adaptateur l’ignore si le pilote JDBC ne le prend pas en charge.

-PROCEDURE procedure_name
Troisième composant d’un nom de procédure qualifié complet (catalog.schema.procedure). Cette commande remplace la commande -TABLE.
  • procedure_name est sensible à la casse.
  • N'ajoutez pas de guillemets (" ") autour du nom de la procédure.

Lorsqu’ils sont utilisés dans une carte d'entrée, ne spécifiez aucun argument en entrée. La procédure peut renvoyer un jeu de résultats ou un jeu de valeurs unique par le biais d’arguments de sortie et d’une valeur de retour.

Lorsqu’elle est utilisée dans une carte de sortie et que la procédure renvoie des données, la carte est automatiquement configurée pour un échange de demande et de réponse à l’aide de types de schéma représentant des données d’entrée et de sortie.

Lorsqu’elle est utilisée dans la fonction PUT, les arguments de sortie et les valeurs de retour sont ignorés, car il n’existe aucun mécanisme permettant de renvoyer ces valeurs à la mappe.

-TABLE table_name
Troisième composant d’un nom de table qualifié complet (catalog.schema.table).
  • table_name est sensible à la casse.
  • N'ajoutez pas de guillemets (" ") autour du nom de la table.

Voir aussi la commande -WRITEMODE.

-WRITEMODE {INSERT | UPDATE | INSERT_FIRST| UPDATE_FIRST}

La commande -WRITEMODE spécifie le mode d’opération à utiliser dans une fonction PUT et dans la carte de sortie lorsque la commande -TABLE est spécifiée. L’opération par défaut est INSERT.

INSERT

Insérez chaque ligne dans la table cible.

UPDATE

Chaque ligne d’entrée met à jour la ligne correspondante dans la table cible.

INSERT_FIRST

Insérez chaque ligne d'entrée dans la table cible. Si l’opération échoue en raison d’une erreur de contrainte d’intégrité (violation de clé primaire, par exemple), utilisez les données de la ligne d’entrée pour mettre à jour la ligne correspondante dans la table cible.

UPDATE_FIRST

Utilisez chaque ligne d’entrée pour mettre à jour la ligne correspondante dans la table cible. Si la table ne contient pas de ligne correspondante, insérez la ligne d’entrée dans la table cible.

-QUERY statement_text

Instruction SELECT permettant d’extraire des lignes de la base de données. Lorsque l'instruction SELECT est spécifiée, les commandes -CATALOG, -SCHEMA, -PROCEDURE et -TABLE sont ignorées.

Lorsqu’ils sont utilisés dans une carte d'entrée, ne spécifiez aucun argument en entrée. Aucune valeur n’est disponible pour que l’adaptateur se lie aux paramètres.

Lorsqu’elle est utilisée dans une fonctionGET, indiquez les valeurs du paramètre de requête en tant que second argument de l'appel de fonction GET.

Lorsqu’elle est utilisée dans une carte de sortie et que la requête accepte des paramètes (requête de recherche), la carte est automatiquement configurée pour un échange de demande et de réponse à l’aide de types de schéma représentant des données d’entrée et de sortie.

-DML statement_text

Instruction de langage de manipulation de données (DML) personnalisée pour l’écriture de lignes dans la base de données. Lorsque la commande -DML est spécifiée, les commandes -CATALOG, -SCHEMA, -PROCEDURE et -TABLE sont ignorées. Le nombre de paramètres de liaison dans l’instruction DML doit correspondre au nombre de zones dans les enregistrements envoyés à l’adaptateur.

-KEY name[,name[, …]]
Liste des noms de colonne à utiliser dans la clause WHERE des instructions SELECT et UPDATE générées automatiquement par l’adaptateur JDBC dans les scénarios suivants :
  • Par une fonction GET lorsque la commande -TABLE est spécifiée. L’adaptateur suppose que les zones des enregistrements correspondent au nombre et à l’ordre des colonnes dans la clause WHERE générée.
  • Par une fonction PUT ou une carte de sortie lorsque la commande -TABLE est spécifiée et que la commande -WRITEMODE spécifie INSERT_FIRST , UPDATE ou UPDATE_FIRST. L’adaptateur suppose que les zones des enregistrements correspondent au nombre et à l’ordre des colonnes dans la table cible.

La commande -KEY est ignorée dans tous les autres scénarios. S’il n’est pas spécifié, l’adaptateur JDBC inspecte la table dans la base de données (spécifiée par la combinaison de propriétés de catalogue, de schéma et de table), détermine les colonnes qui composent la clé primaire de la table et répertorie ces colonnes dans la clause WHERE.

Si un nom de colonne de la liste contient un point d’exclamation (!) ou une virgule (,), utilisez le point d’exclamation (!) comme caractère d’échappement.

Voir le manuel Exemples de commande d’adaptateur JDBC -KEY.

-BIND index[type][,index[ type][, …]]
Liste d’entrées séparées par des virgules index [type] qui indiquent comment lier les valeurs de zone d’enregistrement en entrée aux paramètres dans l’instruction définie par l’utilisateur que l’adaptateur effectue sur la base de données. La valeur index spécifie la position du paramètre respectif dans l’instruction, en commençant par la position 1. La valeur type spécifie le type de données à utiliser pour lier les valeurs de données d’entrée au paramètre d’instruction indiqué par la position index, et est l’un des éléments suivants : TEXT, BINARY, INT8, INT16, INT32, INT64, DECIMAL, FLOAT32, FLOAT64, DATE, TIME, TIMESTAMP. La valeur par défaut est TEXTE. La commande -BIND s'applique aux scénarios suivants :
  • Fonction GET ou carte de sortie qui spécifie la commande -QUERY.
  • Fonction PUT ou carte de sortie qui spécifie la commande -DML.

Voir le manuel Exemples de commande d’adaptateur JDBC -BIND.

-LSN {seconds | 0 | S}
Indique la durée, en secondes, pendant laquelle l’adaptateur doit attendre pour extraire une ligne de base de données.
0
L’adaptateur n’attend pas. Si aucune ligne ne peut être extraite (par exemple, si la table de base de données est vide), l’adaptateur renvoie un message d’avertissement. Il s’agit actuellement de la seule valeur prise en charge et elle doit toujours être activée lors de l’extraction de données de la base de données.
S
L’adaptateur attend une période infinie.

Voir la commande -QTY pour connaître les considérations relatives au paramètre Extraire en tant que d’une carte d'entrée.

-PRESQL statement_text

Spécifie une ou plusieurs instructions SQL à exécuter après la connexion à la base de données et avant l’extraction ou l’écriture de lignes de la base données.

Les paramètres de liaison ne sont pas pris en charge. Les instructions doivent être des instructions statiques. Séparez les instructions individuelles par un point-virgule (;). Utilisez une barre oblique inversée (\) pour échapper chaque point-virgule et chaque barre oblique inversée qui fait partie intégrante d’une instruction.

L’adaptateur valide les instructions immédiatement lorsque la validation automatique est spécifiée ou lorsque les instructions SQL sont non transactionnelles (telles que les instructions de langage de définition de données (DDL)). Dans le cas contraire, l’adaptateur valide les instructions après l’exécution de la dernière instruction.

-POSTSQL statement_text

Spécifie une ou plusieurs instructions SQL à exécuter après l’extraction ou l’écriture de toutes les lignes et avant la déconnexion de la base de données.

Les paramètres de liaison ne sont pas pris en charge. Les instructions doivent être des instructions statiques. Séparez les instructions individuelles par un point-virgule. Utilisez une barre oblique inversée pour échapper chaque point-virgule et chaque barre oblique inversée qui fait partie intégrante d’une instruction.

L’adaptateur valide les instructions immédiatement lorsque la validation automatique est spécifiée ou lorsque les instructions SQL sont non transactionnelles (telles que les instructions de langage de définition de données (DDL)). Dans le cas contraire, l’adaptateur valide les instructions après l’exécution de la dernière instruction.

-FETCHSIZE fetch_size

Indique le nombre de lignes par extraction que le pilote JDBC extrait de la base de données. La taille de récupération doit être un nombre entier positif. Cette commande est facultative. Si vous l’omettez ou si vous spécifiez une taille d’extraction égale à 0, le pilote JDBC détermine la taille d’extraction optimale.

-BATCHSIZE batch_size

Indique le nombre de lignes de données que l’adaptateur écrit dans la base de données en un seul lot.

Si la commande -WRITEMODE spécifie INSERT_FIRST ou UPDATE_FIRST, l’adaptateur ignore la taille de lot indiquée et utilise une taille de lot de 1 ligne.

La taille de lot doit être un entier positif. Lorsque la taille du lot est égale à 0, l’adaptateur collecte tous les enregistrements du moteur de transformation et les envoie à la base de données en un seul lot.

Cette commande est facultative.
  • Lorsque la taille de lot n’est pas spécifiée sur une carte de sortie, l’adaptateur utilise la valeur par défaut de 1 ligne.
  • Lorsque la taille de lot n’est pas spécifiée pour une fonction PUT, l’adaptateur utilise la valeur par défaut de 0 et envoie tous les enregistrements du moteur de transformation à la base de données.
-QTY {quantity | S}

Définit le nombre de lignes à extraire de la table de la base de données. Cette commande est facultative. Si vous l’omettez, la valeur par défaut est une ligne. La valeur S extrait toutes les lignes.

Lors de l’utilisation d’une API pour créer ou remplacer une carte JDBC d'entrée :
  • Lorsque Extraire en tant que est défini sur le mode Intégral, définissez Unité d"extraction sur 1 et spécifiez les commandes suivantes de sorte que l’adaptateur puisse lire et renvoyer toutes les lignes disponibles en même temps :
  • Lorsque l'instruction FetchAs est définie sur le mode Burst, spécifiez les commandes suivantes de sorte que l'adaptateur lise et renvoie une ligne par rafale :
-ERRORCATALOG catalog_name
Premier composant d’un nom de table d’erreurs qualifié complet (error_catalog.error_schema.error_table) dans lequel l’adaptateur JDBC stocke des enregistrements d’entrée non valides.
  • catalog_name est sensible à la casse.
  • N'ajoutez pas de guillemets (" ") autour du nom du catalogue.
-ERRORSCHEMA schema_name
Deuxième composant d’un nom de table d’erreurs qualifié complet (catalog.schema.table) dans lequel l’adaptateur JDBC stocke des enregistrements d’entrée non valides.
  • schema_name est sensible à la casse.
  • N'ajoutez pas de guillemets (" ") autour du nom du schéma.
-ERRORTABLE table_name

Nom de la table d’erreurs dans laquelle l’adaptateur JDBC stocke des enregistrements d’entrée non valides.

Cette commande est facultative.
  • Lorsque la table des erreurs est spécifiée, l’adaptateur stocke l’enregistrement d'entrée non valide dans le cadre de la transaction en cours et poursuit le traitement des enregistrements d’entrée suivants.
  • Lorsque l’adaptateur ne parvient pas à insérer un enregistrement non valide dans la table des erreurs, il signale l’erreur et la mappe cesse de s’exécuter.
  • Lorsque la table d’erreurs n’est pas spécifiée, l’adaptateur signale le premier enregistrement non valide et la mappe cesse son exécution.
Définissez les colonnes de la table des erreurs afin de prendre en charge les données suivantes :
Colonne de table des erreurs Taille Contenu
1 Variable Quantité d'octets bruts de l’ensemble des enregistrements d'entrée non valides, y compris les délimiteurs.
2 16 caractères Exécutez l'une des opérations suivantes :
  • Code d’erreur de texte signalé par le pilote
  • Null, si le pilote n’a pas indiqué de code d’erreur ou si l’adaptateur a détecté que l’enregistrement était en erreur
3 1 024 caractères Texte du message d’erreur signalé par le pilote JDBC ou l’adaptateur JDBC.
-CHARSET charset_name

Codage de jeu de caractères permettant de convertir les données de caractères entre les composants natifs (moteur principal) et Java (adaptateur). Par défaut, l’adaptateur utilise le codage par défaut des paramètres régionaux du système. Dans la plupart des cas, vous n’avez pas besoin de modifier le codage du jeu de caractères. Le codage personnalisé est applicable uniquement dans les scénarios avancés. Par exemple, lorsque vous échangez directement des données binaires avec l’adaptateur, les données sont interprétées comme des données texte et sont codées dans un codage non défini par défaut.

-T [E | V] [+] [file_path]

Niveau de trace de l'adaptateur et chemin d’accès complet au journal de trace de l’adaptateur.

-T

Journalisation des messages d'information de l'adaptateur.

-TE

Consigne uniquement les erreurs d'adaptateur pendant l'exécution de la mappe.

-TV

Utilisation de la journalisation prolixe (débogage). Le fichier journal consigne toute l'activité lorsque l'adaptateur génère ou consomme des messages.

+

Ajout des informations de trace à un fichier existant. Omettez ce mot clé pour créer un nouveau fichier journal.

file_path

Le chemin d'accès complet au journal de trace de l'adaptateur. Si vous omettez ce mot clé, l'adaptateur crée le fichier journal m4jdbc.mtr dans le répertoire de mappe.

-READMODE {SELECT_ALL | LOOKUP}

La commande -READMODE spécifie la manière dont les lignes doivent être extraites de la table lorsque la fonction de mappe GET est utilisée, que la commande -TABLE est spécifiée et que la commande -KEY n’est pas spécifiée. En mode SELECT_ALL, toutes les lignes de la table sont extraites. En mode LOOKUP, l’adaptateur détermine automatiquement les colonnes de clé primaire dans la table et les utilise comme clé de recherche. La valeur par défaut est SELECT_ALL, sauf si les commandes -TABLE et -KEY sont toutes les deux spécifiées, auquel cas la valeur par défaut est LOOKUP.

-ARRAYSIZE array_size

La commande -ARRAYSIZE spécifie le nombre de lignes de table que l’adaptateur concatène et renvoie sous la forme d’un enregistrement logique unique. Lors de la concaténation des lignes, l’adaptateur utilise le caractère de retour à la ligne comme terminateur de ligne et le caractère de barre verticale (|) comme délimiteur de zone. La valeur spéciale 0 signifie que toutes les lignes disponibles doivent être concaténées et renvoyées en tant qu’enregistrement logique unique