tOracleSP - 6.3

Composants Talend Open Studio Guide de référence

EnrichVersion
6.3
EnrichProdName
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
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Fonction

Le composant tOracleSP appelle une procédure stockée de base de données.

Objectif

Ce composant permet de centraliser des requêtes multiples ou complexes dans une base de données et de les appeler plus facilement.

Propriétés du tOracleSP

Famille du composant

Databases/Oracle

 

Basic settings

Use an existing connection

Cochez cette case et sélectionnez le composant de connexion adéquat à partir de la liste Component List pour réutiliser les paramètres d'une connexion que vous avez déjà définie.

Note

Lorsqu'un Job contient un Job parent et un Job enfant, si vous souhaitez utiliser une connexion existant entre les deux niveaux, par exemple pour partager la connexion créée par le Job parent avec le Job enfant, vous devez :

  1. Au niveau parent, enregistrer la connexion à la base de données à partager, dans la vue Basic settings du composant de connexion créant cette connexion.

  2. Au niveau enfant, utiliser un composant dédié à la création de connexion, afin de lire la connexion enregistrée.

Pour plus d'informations concernant le partage d'une connexion à travers différents niveaux de Jobs, consultez le Guide utilisateur du Studio Talend.

 

Connection type

Liste déroulante des pilotes disponibles:

Oracle OCI : Sélectionnez ce type de connexion pour utiliser l'interface d'appel de la base de données Oracle ( Oracle Call Interface) accompagnée d'un ensemble de logiciels API de langage C qui fournissent une interface à cette base de données Oracle.

Oracle Service Name : Sélectionnez ce type de connexion pour utiliser l'alias TNS que vous fournissez lorsque vous vous connectez à la base de données distante.

Oracle SID : Sélectionnez ce type de connexion pour identifier exclusivement une base de données spécifique sur un système.

Oracle Custom : Sélectionnez ce type de connexion pour accéder à une base de données contenant des clusters.

 

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 des propriétés du composant. Les champs suivants sont alors pré-remplis.

 

DB Version

Sélectionnez la version d'Oracle que vous utilisez.

 

Host

Adresse IP du serveur de base de données.

 

Port

Numéro du port d'écoute du serveur de base de données.

 

Database

Nom de la base de données.

 

Schema

Nom du schéma.

 

Username et Password

Informations d'authentification sur 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 et cliquez sur OK afin de sauvegarder les paramètres.

 

Schema et Edit schema

Dans une procédure stockée, le schéma est un paramètre d'entrée.

Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant. Le schéma 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.

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, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

 

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

 

 

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

 

SP Name

Saisissez le nom exact de la Procédure Stockée (SP).

 

Is Function / Return result in

Cochez cette case, si une seule valeur doit être retournée.

Sélectionnez dans la liste la colonne du schéma sur laquelle est basée la valeur à obtenir.

 

Parameters

Cliquez sur le bouton [+] et sélectionnez dans le champ Schema Columns les différentes colonnes nécessaires à la procédure. Notez que le schéma de la SP peut contenir plus de colonnes qu'il n'y a de paramètres utilisés dans la procédure.

 

 

Sélectionnez le Type de paramètre :

IN : paramètre d'entrée (Input).

OUT : paramètre de sortie (Output)/valeur retournée.

IN OUT : les paramètres d'entrée doivent être retournées sous forme de valeur, même après modifications via la procédure (fonction).

RECORDSET : les paramètres d'entrée doivent être retournées sous forme d'ensemble de valeurs, au lieu d'une valeur unique.

Note

Consultez Scénario 1 : 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.

 

 

Le type Custom Type est utilisé quand une colonne du schéma (Schema Column) que vous souhaitez utiliser est définie par l'utilisateur. Deux types de Custom sont disponibles dans le tableau Parameters.

Pour le premier type :

- Cochez la case quand la colonne du schéma correspondant est définie par l'utilisateur.

- Si toutes les colonnes du schéma dans le tableau Parameters sont de type personnalisé, vous pouvez cocher la case devant Custom Type.

 

 

Sélectionnez un type de base de données dans la liste DB Type afin de mapper le type de la base de données source vers le type de la base de données cible :

- Auto-Mapping : Mappe le type de la base de données source au type de la base de données cible automatiquement (par défaut).

- CLOB : Character large object.

- BLOB : Binary large object.

- DECIMAL : objet décimal numérique.

- NUMERIC : caractère compris entre 0 et 9.

- XMLTYPE : type du schéma XML.

Avertissement

Lorsque vous mappez une colonne sélectionnée dans la liste Return result in ou configurée comme type IN ou OUT du paramètre XMLTYPE, assurez-vous que la colonne est de type String dans le schéma.

 

 

Dans la seconde colonne Custom Type, vous pouvez préciser le type de personnalisation. Il peut être 

- STRUCT : utilisé pour un élément.

- ARRAY : utilisé pour plusieurs éléments.

 

 

Dans la colonne Custom name, spécifiez le type de personnalisation.

Avertissement

Dans le tableau Parameters, si une colonne est de Type OUT, assurez-vous que son type dans le schéma est bien Object.

  Specify a data source alias

Cochez cette case et spécifiez l'alias de la source de données créée dans Talend Runtime pour utiliser le pool de connexions partagées défini dans la configuration des données source. Cette option fonctionne lorsque vous déployez et exécutez votre Job dans Talend Runtime. Pour voir un exemple de cas d'utilisation, consultez Scénario 4 : Récupérer des données d'une base de données MySQL en utilisant la source de données côté Talend Runtime pour configurer la connexion à la base de données.

Advanced settings

Additional JDBC parameters

Spécifiez des informations supplémentaires de connexion à la base de données créée. Cette option est disponible lorsque la case Use an existing connection est décochée dans les Basic settings.

 

NLS Language

A partir de la liste déroulante, définissez la langue utilisée pour les données qui ne sont pas codées en Unicode.

 

NLS Territory

Cochez cette case pour modifier les conventions d'appellation utilisées pour la numérotation des jours et des semaines. La valeur par défaut est celle du système d'exploitation.

 

tStatCatcher Statistics

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

Dynamic settings

Cliquez sur le bouton [+] pour ajouter une ligne à la table. Dans le champ Code, saisissez une variable de contexte afin de sélectionner dynamiquement votre connexion à la base de données parmi celles prévues dans votre Job. Cette fonctionnalité est utile si vous devez accéder à plusieurs tables de bases de données ayant la même structure mais se trouvant dans différentes bases de données, en particulier lorsque vous travaillez dans un environnement dans lequel vous ne pouvez pas changer les paramètres de votre Job, par exemple lorsque votre Job doit être déployé et exécuté dans un Studio Talend indépendant.

La table Dynamic settings n'est disponible que si la case Use an existing connection est cochée dans la vue Basic settings. Lorsqu'un paramètre dynamique est configuré, la liste Component List devient inaccessible dans la vue Basic settings.

Pour des exemples sur l'usage des paramètres dynamiques, consultez Scénario 3 : Lire des données dans des bases de données MySQL à l'aide de connexions dynamiques basées sur les variables de contexte et Scénario : Lire des données à partir de différentes bases de données MySQL à l'aide de paramètres de connexion chargés dynamiquement. Pour plus d'informations concernant les Dynamic settings et les variables de contexte, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant est un composant intermédiaire. Il peut être utilisé comme composant de début. Dans ce cas, seuls les paramètres d'entrée sont autorisés.

Limitation

La syntaxe de la Procédure Stockée doit correspondre à celle de la base de données. Quand le paramètre défini dans ce composant est personnalisé (Custom Type), les composants de la famille tJava doivent être placés avant le tOracleSP, afin que les utilisateurs puissent définir des valeurs pour les paramètres personnalisés, ou bien après le tOracleSP, pour lire et écrire les paramètres personnalisés de type OUT.

Scénario : Vérifier le format de numéros à l'aide d'une procédure stockée

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.

  • 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 Scénario 1 : 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.