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 04/07/2007, 14h23   #1
Membre du Club
 
Avatar de SebastienM
 
Inscription : juin 2007
Messages : 309
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 309
Points : 52
Points : 52
Par défaut Talend - moteur / DB Connections

Bonjour,

Je cherche actuellement le fonctionnement (en gros) du moteur de Talend Open Studio pour les traitements intermédiaires (tableaux croisés, ...).

J'aurai aussi voulu savoir comment changer les mots de passe des bases de données une fois le programme compilé (il n'y a pas de fichier de paramètrage)

Merci.
SebastienM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 14h31   #2
Membre éclairé
 
Avatar de bouvda
 
Inscription : octobre 2005
Messages : 252
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2005
Messages : 252
Points : 312
Points : 312
Envoyer un message via MSN à bouvda
Pour changer les mots de passe pour une base de données, il faut tester si cela fonctionne en mettant (dans la propriété Password des composants correspondants) une fonction qui retourne le mot de passe. Cela devrait fonctionner je pense. Par contre, il faut passer sur tous les composants pour faire le changement car dans le Repository, ce n'est pas faisable de la sorte.

[EDIT]
Je viens de tester à l'instant et ça fonctionne bien.
bouvda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 14h41   #3
Membre du Club
 
Avatar de SebastienM
 
Inscription : juin 2007
Messages : 309
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 309
Points : 52
Points : 52
Donc si je comprends bien, si j'ai mes 160 tables et que le mot de passe change, il faut que je le fasse table par table ???? Quel est l'intérêt du repository dans ce cas là ?

[edit] Après test, il propose de rafraîchir les composants. Mais il faudrait qu'un fichier externe puisse contenir la configuration...
SebastienM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 14h50   #4
Membre éclairé
 
Avatar de bouvda
 
Inscription : octobre 2005
Messages : 252
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2005
Messages : 252
Points : 312
Points : 312
Envoyer un message via MSN à bouvda
Avec la technique que j'indique il faudrait effectivement repasser sur tous les composants et le repository deviendrait dès lors inutile. Donc cette technique n'est pas utilisable s'il y a beaucoup de composants.
bouvda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 15h25   #5
Membre du Club
 
Avatar de SebastienM
 
Inscription : juin 2007
Messages : 309
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 309
Points : 52
Points : 52
Après la compilation, il génère un fichier dans context/Default.properties
On ne peut pas stocker de configuration là dedans ?
SebastienM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 15h36   #6
Membre du Club
 
Avatar de SebastienM
 
Inscription : juin 2007
Messages : 309
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 309
Points : 52
Points : 52
Il y a un composant qui s'appelle tMysqlConnection qui peut stocker la connection à une base et peut être réutilisée dans les autres composants (tMySQLInput / output, ...)
Ce qui permettrait de ne changer que les paramètres de ce composant ; votre technique fonctionnerait-elle dans ce cas ? Pourriez vous me la décrire ?
SebastienM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 15h46   #7
Membre éclairé
 
Avatar de bouvda
 
Inscription : octobre 2005
Messages : 252
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2005
Messages : 252
Points : 312
Points : 312
Envoyer un message via MSN à bouvda
Je ne connais pas ce composant et ne l'ai pas dans ma version de Talend mais si celui-ci à une propriété Password qui prend comme valeur une chaine de caractères (par défaut le champ doit contenir seulements des guillemets ouvrants et fermants) alors ma technique devrait fonctionner.

La technique est :
-créer une routine :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
//template routine Java
package routines;
public class Passwd {
   public static String getPasswd() {
     String password;
 
     //ICI code pour récupérer le mot de passe 
 
      RETURN password;
   }
}
-dans la propriété Password du composant tMySqlConnection il suffit de mettre :
Code :
1
2
 
Passwd.getPasswd()
Sinon pour éviter de faire une routine il y a toujours moyen de passer par un paramètre. Ce qui permet également de lire le mot de passe dans un fichier par exemple sans taper le code correspondant comme il faut le faire dans la routine.
bouvda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 16h45   #8
Membre du Club
 
Avatar de SebastienM
 
Inscription : juin 2007
Messages : 309
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 309
Points : 52
Points : 52
j'ai un peu modifié votre code, pour récupérer le login/pass dans un fichier texte.
Voici la procédure :
- créer un fichier dbconfig qui contient deux lignes : login et mot de passe
- créer une routine comportant le code suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
//template routine Java
package routines;
import java.io.*;
 
public class DBManager {
	public static String login;
	public static String passwd;
    public static String getLogin() {
    	IF((login==NULL)&&(passwd==NULL)){
		lire();
    	}
		RETURN login;
    }
    public static String getPasswd() {
    	IF((login==NULL)&&(passwd==NULL)){
		lire();
    	}
		RETURN passwd;
    }
 
    public static void lire()
    {
    	System.out.println("Recuperation du login/mdp du serveur");
	    try
	    {
		    String adressedufichier = System.getProperty("user.dir") + "\\dbconfig";
		    FileReader fr = new FileReader(adressedufichier);
		    BufferedReader br = new BufferedReader(fr);
			login=br.readLine();
			passwd=br.readLine();
		    br.close();
    	}
    	catch(IOException ioe){System.out.println("erreur : " + ioe);}
    } 
}
- lors de l'appel à la connexion saisir les paramètres suivants :
Username : DBManager.getLogin();
Password : DBManager.getPasswd();

Cordialement,

Seb.
SebastienM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 23h25   #9
Membre régulier
 
Inscription : mars 2007
Messages : 95
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mars 2007
Messages : 95
Points : 85
Points : 85
Bonsoir,
je pense que le composant tContextLoad correspond à ce que vous cherchez, il permet de renseigner des variables globales utilisables dans votre job.

Bonne soirée.
johnjohn33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 10h53   #10
Membre du Club
 
Avatar de SebastienM
 
Inscription : juin 2007
Messages : 309
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 309
Points : 52
Points : 52
Bonjour, effectivement on m'a répondu la même chose sur le forum officiel ; cela dit je n'arrive pas à faire fonctionner cette méthode ; j'ai essayé de charger un fichier csv ou xml, et il m'affiche "tContextLoad_1, invalid parameter name".
SebastienM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 11h23   #11
Membre éclairé
 
Avatar de bouvda
 
Inscription : octobre 2005
Messages : 252
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2005
Messages : 252
Points : 312
Points : 312
Envoyer un message via MSN à bouvda
Si jamais vous n'y avez pas encore jeté un petit coup d'oeil, à partir de la page 112 de la documentation (v0.8) il y a un bon exemple qui indique comment se servir de ce composant.

Par contre, il ne faut pas oublier de créer les variables dans le contexte du job car le composant ne les crée pas mais leur affecte uniquement une valeur.
bouvda est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h01.


 
 
 
 
Partenaires

Hébergement Web