tDBSQLRow - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Notez que ce composant n'est pas compatible avec la version 1.8 de la JVM. Il est déprécié et ne s'affiche pas par défaut dans la Palette. Pour utiliser ce composant, vous devez installer JVM 1.7 ou une version précédente. Pour plus d'informations concernant l'affichage d'un composant masqué dans la Palette, consultez le Guide utilisateur de Studio Talend.

Propriétés du tDBSQLRow

Famille du composant

Databases / DB Generic

 

Fonction

tDBSQLRow est le composant générique à tout type de base de données. Il exécute des requêtes SQL déclarées sur la base de données spécifiée. Le suffixe Row signifie que le composant met en place un flux dans le Job bien que ce composant ne produise pas de données en sortie.

Note

Pour une question de performances, préférez toujours un composant de base de données spécifique au composant générique.

Objectif

Selon la nature de la requête et de la base de données, tDBSQLRow agit sur la structure même de la base de données ou sur les données (mais sans les manipuler). Le SQLBuilder peut vous aider à rapidement et aisément écrire vos requêtes.

Note

Pour utiliser ce composant, les pilotes ODBC du SGBD doivent être installés et les connexions ODBC doivent être configurées via l'assistant de configuration de connexion à une base de données.

Basic settings

Property type

Peut être Built-in ou Repository

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

 

 

Built-in : Propriétés utilisées ponctuellement.

 

 

Repository : Sélectionnez le fichier de propriétés du composant. Les champs suivants sont alors pré-remplis à l'aide des données collectées.

 

Datasource

Nom de la source de données définie dans l'assistant de configuration de la connexion à la base de données.

 

Username et Password

Informations d'authentification de l'utilisateur de base de données.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles, puis cliquez sur OK afin de sauvegarder les paramètres.

 

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs (colonnes) qui sont traités et passés au composant suivant. Le schéma est soit local (Built-In), soit distant dans le Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

 

 

Built-in : Le schéma est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur Studio Talend.

 

 

Repository : Le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé. Voir également le Guide utilisateur du Studio Talend.

  

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

Table Name

Nom de la table de base de données à modifier.

 

Query type

Peut être Built-in ou Repository

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

 

 

Built-in : Saisissez manuellement votre requête ou construisez-la à l'aide de SQLBuilder.

 

 

Repository : Sélectionnez la requête appropriée dans le Repository. Le champ Query est renseigné automatiquement.

 

Query

Saisissez votre requête en faisant particulièrement attention à l'ordre des champs afin qu'ils correspondent à la définition du schéma.

 

Die on error

Cette case est décochée par défaut, afin d'ignorer les lignes en erreur et de terminer le traitement avec les lignes sans erreur. Si nécessaire, vous pouvez récupérer les lignes en erreur via un lien Row > Rejects.

Advanced settings

Additional JDBC parameters

Spécifiez les propriétés de connexion supplémentaires pour la connexion à la base de données que vous créez.

Note

Vous pouvez configurer les paramètres d'encodage dans ce champ.

 

Propagate QUERY's recordset

Cochez cette case pour insérer les résultats de la requête dans une colonne du flux en cours. Sélectionnez cette colonne dans la liste use column.

 

Use PreparedStatement

Cochez cette case pour utiliser une instance PreparedStatement afin de requêter votre base de données. Dans le tableau Set PreparedStatement Parameter, définissez les valeurs des paramètres représentés par des "?" dans l'instruction SQL définie dans le champ Query de l'onglet Basic settings.

Parameter Index : Saisissez la position du paramètre dans l'instruction SQL.

Parameter Type : Saisissez le type du paramètre.

Parameter Value : Saisissez la valeur du paramètre.

Note

Cette option est très utile si vous devez effectuer de nombreuses fois la même requête. Elle permet un gain de performance.

 

Commit every

Nombre de lignes à inclure dans le lot avant de commencer l'écriture dans la base. Cette option garantit la qualité de la transaction (cependant pas de rollback) et surtout une meilleure performance d'exécution.

 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du composant.

Global Variables

QUERY : requête SQL traitée. Cette variable est une variable Flow et retourne une chaîne de caractères.

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant offre la flexibilité des requêtes sur les bases de données et couvre toutes les possibilités de requêtes SQL.

Utilisez le composant DBRow correspondant au type de base de données dont vous vous servez. La plupart des bases de données ont leur propre composant DBRow spécifique.

Prérequis

ODBC (Open DataBase Connectivity) est un protocole standard permettant d'accéder aux informations de serveurs de bases de données. Vous devez préalablement créer une source de données (datasource) ODBC et la relier à votre base de données pour en lire les informations.

Pour créer une source ODBC sous Windows, par exemple, allez à Panneau de configuration > Outils d'administration > Sources de données (OBCD) puis renseignez les propriétés de la source à partir de l'assistant.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Scénario : Réinitialiser l'auto-incrémentation d'une base de données

Le Job suivant, à un seul composant, permet de réinitialiser l'auto-incrémentation de la base de données (valeur initiale = 1). Il ne permet pas de générer un flux en sortie car il est généralement utilisé avant l'exécution d'un script.

Avertissement

Avant de reproduire ce Job, le pilote ODBC du SGBD correspondant doit avoir été installé et la connexion ODBC correspondante doit avoir été configurée.

  1. Glissez-déposez le composant tDBSQLRow de la Palette dans l'espace graphique de modélisation.

  2. Double-cliquez sur le tBDSQLRow afin d'ouvrir sa vue Basic settings.

  3. Dans le champ Property Type, sélectionnez Repository puisque la connexion ODBC a été configurée et sauvegardée dans le Repository. Les champs suivants sont automatiquement renseignés.

    Pour plus d'informations concernant le stockage des connexions aux bases de données dans le Repository, consultez le Guide utilisateur du Studio Talend.

  4. Le champ Schema est sur Built-in pour ce Job et n'est pas vraiment important dans cet exemple particulier puisque l'action se fait sur l'auto-incrémentation de la table et non sur les données.

  5. Dans la liste Query type, sélectionnez l'option Built-in. Cliquez sur le bouton [...] à côté du champ Query pour ouvrir le SQLbuilder. Sinon, saisissez le code suivant : Alter table <TableName> auto_increment = 1 directement dans le champ Query.

  6. Enregistrez le Job en appuyant sur les touches Ctrl+S et appuyez sur F6 pour l'exécuter.

L'auto-incrémentation de la base de données est réinitialisée à 1.