IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

Connexion à une base de données AS400


Sujet :

Développement de jobs

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2015
    Messages : 56
    Points : 40
    Points
    40
    Par défaut Connexion à une base de données AS400
    Bonjour,

    Je suis nouvel utilisateur de Talend Open Studio for Data Integrator.

    J'utilise une ancienne version de l'application (la 3.2) pour Windows 32bits, car mon employeur me le contraint, et malgré qu'ensuite, personne de l'entreprise ne maitrise l'outil.

    Je tente de développer un traitement qui va extraire des informations d'une base de données AS400 (oui, chez mon employeur, il n'y a que des vieilleries ).

    Malheureusement, je ne parviens pas à me connecter à cette base AS400, aussi, je vous soumet mon problème dans l'espoir que quelqu'un puisse m'aider.

    Nom : talend.jpg
Affichages : 869
Taille : 21,5 Ko

    J'ai commencé en employant un composant tDBInput de la palette obtenue dans le dossier Base de données\Générique.

    Ce composant utilise un driver O.D.B.C. que j'ai configuré

    J'ai vérifié, ce driver fonctionne puisqu'avec Excel, j'arrive à récupérer les données des tables de la base AS400 (en allant dans l'onglet "Données" puis "Autres sources\Provenance : Assistant connexion de données

    Je paramètre le composant comme suit :

    Nom : talend2.jpg
Affichages : 1020
Taille : 68,6 Ko

    Je suis également certain que ma requête fonctionne car je l'ai testé directement sur l'AS400. Je n'ai pas non plus de problème avec le TMAP et la base MS SQL en sortie, puisqu'en remplaçant le composant tDBInput par un fichier tFileInputDelimited où j'ai mis le résultat de ma requête exécutée sur l'AS400, ça fonctionne également.

    Lorsque j'exécute mon job, j'obtiens l'erreur suivante :

    Exception in component tDBInput_2
    java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at datawarehouse_chd.alim_tb_sante400_bcp01_0_1.ALIM_TB_SANTE400_BCP01.tDBInput_2Process(ALIM_TB_SANTE400_BCP01.java:2186)
    at datawarehouse_chd.alim_tb_sante400_bcp01_0_1.ALIM_TB_SANTE400_BCP01.tJava_1Process(ALIM_TB_SANTE400_BCP01.java:5941)
    at datawarehouse_chd.alim_tb_sante400_bcp01_0_1.ALIM_TB_SANTE400_BCP01.runJobInTOS(ALIM_TB_SANTE400_BCP01.java:8601)
    at datawarehouse_chd.alim_tb_sante400_bcp01_0_1.ALIM_TB_SANTE400_BCP01.main(ALIM_TB_SANTE400_BCP01.java:8451)

    J'ai cherché sur les forums, il semblerait que je doive installer un driver ODBC/JDBC.

    J'ai cherché sur le site de ORACLE, je n'en ai pas trouvé. J'ai aussi lu que ce driver était présent dans le JDK.

    Aussi, je vous soumet quelque questions :
    - Mon problème est-il bien lié à l'absence de driver ODBC/JDBC.
    - Si oui, que dois-je installer exactement, et où le trouver sur le net pour que ça fonctionne dans ma configuration (Talend 3.2 sur Windows 7 avec la JRE 1.7.0_79)

    D'avance un grand Merci à tout ceux qui accepterons de ce pencher sur mon problème.

    GiDu

  2. #2
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2015
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 107
    Points : 348
    Points
    348
    Par défaut
    Salut,

    Tu es sûr que ta version de Talend ne possède pas de composants AS400 natifs?
    Car d'après Talend (je n'ai pas la 3.2 sous la main), ils étaient déjà dispo : Composants Talend par version

  3. #3
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Points : 1 698
    Points
    1 698
    Par défaut
    D'après ce que j'ai vu sur le web cette erreur est du à une compatibilité Java.
    Cette erreur arrive avec Java 8.

    http://stackoverflow.com/questions/2...eption-occurin
    http://javarevisited.blogspot.fr/201...dbcdriver.html

    Talend 6 est compatible que Java 7. donc tes reliques comme tu dis ne doivent pas être compabilble Java 8.

    Installe un Java 7
    Et lance Talend avec Java 7

    http://blog.courtine.org/2011/10/31/...d-open-studio/

  4. #4
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    Si tu utilises le composant ODBC, tu es obligé d'installer et de déclarer un driver/pilote ODBC sur chaque machine qui lancera le job.

    Je te conseil d'installer un studio plus récent comme la version 5.6.2 par exemple. Plusieurs version de Talend peuvent cohabité sur le même PC.
    Il y a un composant tAS400Input qui utilise le JDBC et qui fonctionne très bien sans installation complémentaire. Tu as accès également a la métadonnée AS400 qui te facilitera la mise au point des requêtes ( elles sont généré automatiquement )
    Le JDBC est plus beaucoup plus performant que l'ODBC.

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2015
    Messages : 56
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    Déjà Merci pour vos réponses. Désolé d'avoir tardé à répondre, mais en ce moment, je suis régulièrement en déplacements sur d'autres sujets, qui ne me permettent pas de me consacrer entièrement à celui de Talend. Ca devrait aller mieux à partir d'aujourd'hui

    Donc je viens de suivre l'ensemble de vos conseils avec plus ou moins de réussite.

    Voilà ce que j'ai tenté de faire :

    En ce qui concerne la version de Java, déjà, je m'interroge de savoir s'il s'agit du JRE ou du JDK. J'ai bien compris que le 1er c'est le runtime, le second le kit de développement, mais j'ai l'impression qu'il faut les deux pour Talend.

    En ce qui concerne le JRE, initialement mon P.C. été installé avec la 1.7. et la 1.8. Quand j'ai appris que Talend n'était pas compatible 1.8, j'ai désactivé cette dernière en allant décocher une case via le panneau de configuration :

    Nom : talend1.jpg
Affichages : 900
Taille : 48,1 Ko

    J'avais aussi paramétré ma vieille version de Talend comme ceci :

    Nom : talend2.jpg
Affichages : 1044
Taille : 93,2 Ko

    Ca fonctionnait bien, à part le fameux composant ODBC à l'origine de ce message.

    Les JDK 1.7 et 1.8 étaient aussi installés, mais je n'ai pas trouvé, dans la fenêtre de paramétrage TALEND 3.2 où lui dire d'employer la 1.7, si ce n'est dans le fichier TalendOpenStudio-win32-x86.ini que j'ai complété comme ceci :

    -vmargs
    -Xms40m
    -Xmx500m
    -XX:MaxPermSize=128m

    -vm
    C:\Program Files\Java\jdk7\bin\java

    A la lecture de vos messages, je me suis dit que malgré tout, il y avait peut être des reliquats de 1.8 qui perturbaient, donc j'ai désinstallé le JRE 1.8 et le JDK 1.8. quand j'ai relancé l'exécution de Talend, oh surprise

    Nom : talend3.jpg
Affichages : 838
Taille : 39,8 Ko

    Du coup j'ai aussi désinstallé la version 1.7 de JRE et JDK, je n'avais donc théoriquement plus de java sur mon P.C. J'ai téléchargé sur le site d'Oracle les JRE et JDK 1.7.0_U80, je l'ai ai réinstallé, et même erreur !

    Tout ce que j'ai trouvé à faire, c'est de copier les dossiers jre7 et jdk7 de C:\Program Files\Java vers C:\Program Files\Talend\TOS-Win32-r30698-V3.2.0, en renommant le dossier copié jre7 en jre.

    Ce n'est pas terrible, et je suis preneur d'une meilleure solution (ça c'est mon premier raté).

    Le principal étant que mon Talend 3.2 fonctionne de nouveau. Je n'ai pas osé désinstaller Talend et le réinstaller qui aurait peut-être solutionné mon problème, car je ne souhaitais pas perdre ce que j'avais développé.

    Je profite de cette dernière phrase, pour vous demander une petite confirmation. Tous les développements que j'ai réalisé sont-ils bien stockés dans le dossier C:\Program Files\Talend\TOS-Win32-r30698-V3.2.0\workspace. Si oui, est-ce qu'il suffit que j'effectuer une sauvegarde de ce dossier en cas de crash disque, ou mieux vaux faire un export du projet ? Autre question, toujours dans l'affirmative, comment paramétrer un autre dossier de travail, car je n'aime pas que mes dev soient dans le dossier d'installation de l'appli. J'ai cherché sur le net des infos sur le sujet, mais ce n'est pas très clair pour moi, mais je n'ai peut-être pas trouvé la bonne référence...

    Pour revenir à mon problème de connexion ODBC à ma base AS400. Incroyable, ça fonctionne maintenant après ces manipulation. J'en conclue donc qu'il y avait des reliquats de Java (JRE et/ou JDK ?) 1.8 qui perturbaient.

    Par ailleurs, il existe bien un composant tAS400Input en Talend 3.2. J'avais un problème similaire que celui avec le composant ODBC lors de mon 1er message que je n'avais pas signalé, et maintenant ça fonctionne également.

    Donc, je suis super content que mon problème principal soit résolu même s'il reste un petit souci de devoir dupliquer les installations de JRE et JDK. Vos conseils ont portés leur fruits.

    Néanmoins, j'en ai également profité pour installé la version 6.1.0 de Talend. Tant qu'à faire, autant installer la toute dernière version puisque l'on peut installer plusieurs versions sur son P.C. Comme cela, même si je dois rester avec ma version 3.2, je pourrais tester en 6.1 pour vérifier avant de poster sur le forum

    Et là, à nouveau, double problème. Le 1èr, c'est que j'ai une erreur similaire avec Java que ma dernière copie d'écran. J'ai donc aussi copié les jre7 et jdk7 de C:\Program Files\Java vers C:\Program Files\Talend\TOS_DI-Win32-20151029_1337-V6.1.0, en renommant le dossier copié jre7 en jre, même si la solution n'est pas terrible.

    Du coup, je parviens à lancer Talend 6.1, mais nouvelle mauvaise surprise, j'obtiens ceci dès que je veux créer un nouveau job :

    Nom : talend4.jpg
Affichages : 951
Taille : 69,8 Ko

    Une idée de ce que je dois faire ?

    Pour l'instant, le plus compliqué pour moi depuis que je débute sous Talend, ce n'est pas de développer avec l'outil, c'est de l'installer.

    D'avance Merci pour vos futures réponses

    GiDu

  6. #6
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonne nouvelle.

    Pour répondre aux autres questions :

    Pour paramétrer l'emplacement du workspace, c'est dans la 1ere fenetre Talend qui apparait qu'on a la possibilité de changer de workspace.
    A voir si cela fonctionne en 3.2 et je ne connais pas encore la 6.1

    Pour les version 5.6 et au delà, Talend ne livre plus les jar. Il faut les installer soit même. et accepter les différente licence.
    Si tu as accès a internet c'est facile, tu cliques directement sur télécharger et le driver s'installe tous seul.
    Sinon il te propose de le récuperer d'un répertoire dans lequel tu auras copier tes jar au préalable.
    De ce point de vue les nouvelles versions de Talend sont plutôt pénible au 1er lancement.

  7. #7
    Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2015
    Messages : 56
    Points : 40
    Points
    40
    Par défaut
    Merci pour cette réponse.

    J'ai accès à Internet, sinon, je ne pourrais pas communiquer sur ce formum.

    Par contre comme tu peux le voir sur la copie d'écran de mon message précédent, talend indique que le réseau est indisponible.

    J'en déduit donc qu'il faut paramètrer quelque chose dans Talend 6.1 pour qu'il utilise le réseau, genre un proxy, mais quoi et où ?

    Sinon, je veux bien récupérer les .jar de quelque part pour les copier sur mon P.C., mais où puis-je les trouver ?

    Gidu

  8. #8
    Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2015
    Messages : 56
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    Je me permet une petite relance par rapport à deux de mes questions restées sans réponse, dans l'espoir que l'un de vous puisse me dépanner.

    Avez-vous une idée sur :

    • Comment éviter de devoir dupliquer dans le dossier où est installé Talend les fichiers du JRE et du JDK. Je suis peut-être un peu trop puriste, mais la façon dont j'ai résolue mon problème ne fait pas très propre.
    • Sur l'installation de talend 6.1 où je ne parviens pas à récupérer les composants.


    D'avance Merci.

    GiDu

Discussions similaires

  1. [C#] Accés à une base de données AS400
    Par Green Hornet dans le forum Accès aux données
    Réponses: 8
    Dernier message: 14/11/2011, 11h26
  2. [Conception] Connexion à une base de données AS400
    Par mirc00 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/07/2006, 22h27
  3. [ODBC] [DB2] Problème de connexion à une base de données sur un as400 via PHP sous Linux
    Par boo64 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 19/04/2006, 09h51
  4. Delphi Connexion à une base de donnée distante par TCP/IP
    Par viecel dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/01/2005, 19h19
  5. Réponses: 3
    Dernier message: 29/03/2004, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo