Vérifier le format de numéros à l'aide d'une procédure stockée - 7.0

Oracle

author
Talend Documentation Team
EnrichVersion
7.0
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 ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement > Systèmes tiers > Composants Database > Composants Oracle
Gouvernance de données > Systèmes tiers > Composants Database > Composants Oracle
Qualité et préparation de données > Systèmes tiers > Composants Database > Composants Oracle
EnrichPlatform
Studio Talend

Le Job suivant permet de se connecter à une base Oracle contenant des numéros de sécurité social et le nom de leur propriétaire, en appelant une procédure stockée qui vérifie le format des numéros en fonction du format standard ###-##-####. Puis le résultat de la vérification, 1 pour un format valide et 0 pour un format non valide, est affiché en sortie dans la console de la vue Run.

Pour plus d'informations concernant les technologies supportées par Talend, consultez Composants Talend.

  • Cliquez et déposez les composants suivants : tOracleConnection, tOracleInput, tOracleSP et tLogRow.

  • Reliez le composant tOracleConnection au tOracleInput à l'aide d'un lien Then Run puisqu'aucune donnée n'est traitée ici.

  • Connectez les autres composants à l'aide de liens Row Main puisque des lignes sont transmises comme paramètres au composant SP et à la console.

  • Dans l'onglet Basic settings du composant tOracleConnection, paramétrez les informations de connexion à la base de données correspondante. Vous pourrez donc réutiliser cette information dans tout autre composant lié aux bases de données.

  • Puis double-cliquez sur le composant tOracleInput et paramétrez ses propriétés.

  • Cochez la case Use an existing connection et sélectionnez le composant tOracleConnection dans la liste pour réutiliser les informations de connexion déjà paramétrées.

  • Sélectionnez l'option Repository dans le champ Property type puisque le schéma Oracle est défini dans une métadonnée du dossier Db Connections du Repository. Si vous n'avez pas enregistré de métadonnée contenant les informations de connexion à la base de données Oracle dans le Repository, renseignez le nom du schéma manuellement.

  • Puis sélectionnez l'option Repository dans le champ Schema, et récupérez le schéma correspondant à la table de la base de données Oracle.

  • Dans cet exemple, la table contenant le numéro de sécurité social contient un schéma à quatre colonnes dont : ID, NAME, CITY et SSNUMBER.

  • Dans le champ Query, saisissez la requête Select suivante ou sélectionnez-la dans la liste si vous l'aviez stockée dans le Repository.

    select ID, NAME, CITY, SSNUMBER from SSN

  • Puis sélectionnez le tOracleSP et paramétrez ses propriétés dans l'onglet Basic settings.

  • Comme pour le composant tOracleInput, sélectionnez l'option Repository dans le champ Property type et cochez la case Use an existing connection, puis sélectionnez l'entrée adéquate dans la liste Component List.

  • Le schéma utilisé pour le composant tOracleSP diffère légèrement du schéma d'entrée. En effet, une colonne supplémentaire (SSN_Valid) est ajoutée au schéma d'entrée. Cette colonne contiendra le statut de validité (1 ou 0) généré par la procédure.

  • Puis sélectionnez le type d'encodage adéquat dans la liste Encoding type.

  • Dans le champ SP Name, saisissez le nom exact de la procédure stockée (ou de la fonction) telle qu'elle est appelée dans la base de données. Dans cet exemple, le nom de la procédure stockée est is_ssn.

  • La fonction de base utilisée pour cet exemple est :

    CREATE OR REPLACE FUNCTION is_ssn(string_in VARCHAR2)
    RETURN PLS_INTEGER
    IS
    -- validating ###-##-#### format
    BEGIN
      IF TRANSLATE(string_in, '0123456789A', 'AAAAAAAAAAB') =
         'AAA-AA-AAAA' THEN
        RETURN 1;
      END IF;
      RETURN 0;
    END is_ssn;
    /
  • Comme un valeur retournée est attendue dans cet exemple, la procédure agit comme une fonction, ainsi cochez la case Is function.

  • La seule valeur retournée attendue est basée sur la colonne ssn_valid. Ainsi, sélectionnez l'entrée correspondante dans la liste.

  • Dans la zone Parameters, définissez les paramètres d'entrée et de sortie utilisés dans la procédure. Dans cet exemple, seule la colonne SSNumber du schéma est utilisée dans la procédure.

  • Cliquez sur le signe [+] pour ajouter un nouvelle ligne à la table et sélectionnez la colonne adéquate (SSNumber) et son type (IN).

  • Puis sélectionnez le composant tLogRow et cliquez sur Sync Column pour récupérer le schéma du composant précédent (tOracleSP).

  • Cochez la case Print values in cells of a table pour faciliter la lecture de la sortie.

  • Puis enregistrez le Job et appuyez sur F6 pour l'exécuter.

Dans la console, vous pouvez lire les résultats en sortie. Toutes les colonnes du schéma d'entrée sont affichées même si elles ne sont pas utilisées comme paramètres dans la procédure stockée.

La colonne finale affiche la valeur retournée attendue, c'est-à-dire que le numéro de sécurité sociale vérifié soit valide ou non.

Consultez également Insérer des données dans des tables mère/fille si vous voulez analyser un ensemble d'enregistrements d'une table de données ou d'une requête SQL.