Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/03/2011, 09h30   #1
Membre du Club
 
Inscription : mars 2005
Messages : 119
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 119
Points : 41
Points : 41
Par défaut Connexion à Oracle et NLS_LANG

Bonjour,

Nous utilisons un job Talend installé sur un serveur Unix qui se connecte à une base de données avant de réaliser tout un tas de traitement.
La connexion est initialisée à partir des variables d'environnement du serveur notamment la variable NLS_LANG qui définit la langue et le characterset utilisé dans la connexion.
Sur le serveur, NLS_LANG=American_America.UTF8 or j'aimerais pouvoir modifier, dans mon job Talend, la valeur de cette variable en fonction, par exemple, d'un paramètre. C'est une modification qui peut normalement se faire sous Unix avec un simple export NLS_LANG=FRENCH_FRANCE.WE8ISO8859P1 , mais sous Talend, je ne trouve pas le composant qui me permettrait de jouer cette commande Unix avant d'utiliser mon composant tOracleConnection.

Auriez vous une idée à ce sujet ?
Merci d'avance
lafouine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 10h28   #2
Membre habitué
 
Inscription : août 2005
Messages : 117
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 117
Points : 145
Points : 145
Tu peux jouer une commande shell avec le composant tSystem.

Cependant, le client Oracle (En l'occurence ici, ton server Talend) utilise cette variable pour les conversions implicites entre son NLS_LANG et celui définis au niveau de ta base Oracle. Pourquoi as-tu besoin de modifier "à la volée" le NLS_LANG" définis sur ton serveur ?
tetsu no tama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 16h15   #3
Membre du Club
 
Inscription : mars 2005
Messages : 119
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 119
Points : 41
Points : 41
Bonjour et merci pour ton aide.

En fait j'utilise des API Oracle qui s'appuient sur cette variable d'environnement pour lancer des traitements dans la langue de l'utilisateur. Il faut donc pouvoir faire varier cette valeur à la volée.

J'ai essayé d'utiliser tSystem, mais j'obtiens une erreur lors de l'interprétation de la commande export ("export NLS_LANG=FRENCH_FRANCE.WE8ISO8859P1"). Erreur également si ma commande est passée sous la forme suivante : "sh export NLS_LANG=FRENCH_FRANCE.WE8ISO8859P1"

J'ai donc essayé d'utiliser le composant tSetEnv, mais il ne semble pas modifier ma variable puisque quand je lis sa valeur avant la connexion, je n'obtiens pas la valeur que je lui ai affectée.
lafouine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 17h01   #4
Membre habitué
 
Inscription : août 2005
Messages : 117
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 117
Points : 145
Points : 145
Tu peux toujours modifier directement les paramètres NLS de la session Oracle, ce sera plus propre que de modifier ceux du client.

par exemple :
ALTER SESSION SET NLS_LANGUAGE="FRENCH"
ALTER SESSION SET NLS_TERRITORY="FRANCE"
ALTER SESSION SET NLS_CHARACTERSET="WE8ISO8859P1"
tetsu no tama est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 12h00   #5
Membre du Club
 
Inscription : mars 2005
Messages : 119
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 119
Points : 41
Points : 41
Merci pour ton aide, c'est effectivement la solution vers laquelle je me suis orienté.
lafouine est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h21.


 
 
 
 
Partenaires

Hébergement Web