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

Websphere Java Discussion :

connexion wsad à bdd DB2


Sujet :

Websphere Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 53
    Points : 46
    Points
    46
    Par défaut connexion wsad à bdd DB2
    bonjour tout le monde
    j'aimerais bien savoir quel driver DB2 dois je utiliser pour que je puisse me connecter à une bdd DB2 à partir d'une application J2EE sur wsad???
    sachant que j'ai configurer la base dans le client DB2 et j'ai également configurer le serveur d'accès à la base en utilisant comme classe d'implémentation du fournisseur jdbc " COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource " et comme chemin d'accès aux classes ".../java/db2java.zip "...


    l'exeption générée est la suivante :

    Une exception s'est produite lors de l'appel de la méthode set DataSourceProperties sur com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl utilisée par la ressource "?????????": java.lang.reflect.InvocationTargetException


    merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2006
    Messages : 27
    Points : 34
    Points
    34
    Par défaut .
    DB2 iseries ou windows?

  3. #3
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Normalement suivant le pilote que tu utilise (db2client installé ou non) tu passe par les drivers :
    com.ibm.db2.jcc.DB2Driver (sans db2client type 4 url de la forme jdbc:db2://monserveur:50000/mabase)
    ou
    COM.ibm.db2.jdbc.app.DB2Driver (avec db2client type 2 url de la forme jdbc:db2:mabase)
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  4. #4
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    exactement.
    j'ai utilisé la deuxième solution et maintenant ça marche très bien.
    merci.

  5. #5
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 53
    Points : 46
    Points
    46
    Par défaut problème de connexion
    Lors du démarrage de l'application, le Nom de la classe d’implémentation du fournisseur jdbc "com.ibm.db2.jcc.DB2ConnectionPoolDataSource" n'est pas trouvé,l'Erreur suivante se déclanche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    The DataSource implementation class "com.ibm.db2.jcc.DB2ConnectionPoolDataSource" could not be found.
    je ne sais pas d'ou vient le problème!!
    d'autres messages d'erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Une exception s'est produite lors de l'appel de la méthode set DataSourceProperties sur com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Une exception s'est produite lors de la tentative d'instanciation de la classe ManagedConnectionFactory com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl utilisée par la ressource jdbc/dsappl : java.lang.reflect.InvocationTargetException

    merciiiiiiiiiiiiiiiii.

  6. #6
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    ...

  7. #7
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    L'utilisation d'un driver de type 2 implique que le db2client (ou un db2server) est installé sur la machine hébergeant WAS.

    De plus si cela est déjà le cas vous pouvez vérifier si :
    - le chemin d'acces aux classe DB2 est bien définie (un truc dans le style ${DB2_JDBC_DRIVER_PATH}/db2java.zip )
    - La même chose pour le chemin d'access au libs native ( /home/db2inst/sqllib/java12/ libdb2jdbc.so /home/db2inst/sqllib/lib)

    - De plus personnellement avec WAS 6.0 et WAS 6.1 j'ai cela comme classe d'implementation COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  8. #8
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    merci..
    j'ai vérifié le chemin d'accès aux classes, moi aussi j'utilise COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource et cé b1 le chem1 qu'il faut utilisé!
    mais mon souci actuel, c'est le chemin d'accès aux lib nativ que vous avez cité???je ne sais pas ou puis je les trouver???le chemin du répertoir ou j'ai installé DB2 est le suivant : C:\Program Files\SQLLIB
    merci pour votre aide...

  9. #9
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Normalement si tu as un problème avec une lib native il te dis clairement celle qu'il ne peut pas charger mais dans ton cas.
    Mais pour Windows je dirais c:\MonRep\SQLLIB\bin
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  10. #10
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    bonjour cher ami.

    merci pour la réponse.

    finalement, je me suis rendu compte que je n'ai pas de problème avec les librairies natives et je te porte connaissance de certains détails qui peuvent t'aider à relever la cause du problème :

    Au démarrage de l’application, on note l’absence des propriétés suivantes dans la data source COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource (message du Log) :

    currentPackageSet, traceLevel, traceFile, retrieveMessagesFromServerOnGetMessage, resultSetHoldability, readOnly, cliSchema, fullyMaterializeLobData, currentSchema, deferPrepares



    Hypothèse:

    La version de DB2 est non compatible avec celle de websphere : le serveur d’application websphere contient une configuration par défaut pour le JDBC DRIVER spécifié, donc une mauvaise ou INCOMPLETE configuration d’IBM DB2 (v.7.2) pour le pilote JDBC pourra provoquer un décalage au niveau des propriétés de la data source.



    Impossible de se connecter à la base [IBM][JDBC DRIVER] CLI0615E erreur lors de la réception des données provenant du socket. Le serveur ne répond pas : Il semble que DB2 n'écoute pas sur ce port.



    je compte sur votre collaboration à fin de pallier à ce problème.

  11. #11
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Est tu certain de ta configuration DB2CLIENT ?
    Car si il ne repond pas cela peut etre du a :
    - mauvais paramétrage de la connexion dans DB2CLIENT
    - firewall actif qui filtre le trafict sur les ports utilisé par DB2 (sur le poste client - Celui de Websphere - ou sur le serveur - celui de DB2 - bien sur)
    - Base de données DB2 arrétée
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  12. #12
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    je pense que c'est pas le cas, puisque en utilisant une solution de contournement : en créeant une classe de connexion sans passer par le client DB2, j'arrive à me connecter à la base de données!!cette fois en utilisant les chemins d'accès aux classes suivant :
    \Racine\Jars\db2jcc.jar
    \Racine\Jars\db2jcc_license_cisuz.jar
    \Racine\Jars\db2jcc_license_cu.jar
    et b1 sure la classe d'implémentation suivante com.ibm.db2.jcc.DB2ConnectionPoolDataSource
    ....
    merci....

  13. #13
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Peux tu preciser l'URL de connexion DB2 que tu utilise avec ce programme de test ?)
    C'est pour vérifier si tu passe par db2client ou directement vers le serveur DB2.

    Ce programme de test te permet déja de supprimer deux sources d'erreur :
    - Pas de problème de firewall
    - et le Serveur cible DB2 fonctionne bien.
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  14. #14
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    BONJOUR,
    exactement, c'est ce que j'ai déduit!

    et voila la partie du code qui t'intéresse (solution de contournement):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    try {
    			// recuperer les info de la map d'attributs at enrichir l'url
    			String url, usr, pwd;
    			url = "jdbc:db2:DB2E";
    			usr = "DF";
    			pwd = "etudes";
    			datasource = "DB2E";
    			// utiliser le driver
    			DriverManager.setLogWriter(new PrintWriter(System.out));
    			DriverManager.registerDriver(
    				(Driver) Class
    					.forName("COM.ibm.db2.jdbc.app.DB2Driver")
    					.newInstance());
    			conn = DriverManager.getConnection(url, usr, pwd);
    			//conn = ds.getConnection();
    		}
    merci pour votre collaboration...

  15. #15
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Comme ce petit code fonctionne ton DB2 client est configuré correctement.

    Le problème se situe donc dans ta définition JNDI de cette connexion ou dans ton code (principalement appel de cette connexion jndi).

    Regarde cela
    http://www.ibmdatabasemag.com/shared...leID=191600717
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  16. #16
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    je ne pense pas qu'il y a problème dans le code d'appel de la connexion sachant qu'il est le même utilisé dans la solution de contournement!!

    je voudrais te montrer un écran qui pourra servir à qlqc.
    il sagit d'un écran qui montre la réussite de la connexion jdbc via le driver DB2 en procédant comme suite :
    serveur base de donnée >> nouvelle connexion...

    voir :

    type du fournisseur bdd???

    pilote jdbc

    classe du pilote jdbc
    surement tu va en tirer des infos

    écran :
    Images attachées Images attachées  

  17. #17
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Au niveau du code je pense principalement a la manière dont tu prends ta connexion (avec jndi cela doit ressembler à un truc du style)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       InitialContext ctx = new InitialContext();
       DataSource ds =   (DataSource)ctx.lookup("java:comp/env/DB2DataSource");
    // ou
      // DataSource ds =   (DataSource)ctx.lookup("jdbc/DB2DataSource");
       Connection conn = ds.getConnection();
    Je pense que tu a vérifier si dans Websphere ta connexion est valide (option "tester la connexion").
    - Informaticien passionné
    - ( java, c++, cobol, php, asp, ... )
    - http://www.berthou.com/fr/

  18. #18
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 53
    Points : 46
    Points
    46
    Par défaut
    RESOLUT MON AMI.
    en fait, le principale problème était dans le choix du fournisseur JDBC.
    le choix qui fait marcher tt est le suivant :
    type du fournisseur jdbc : DB2 JDBC Provider
    dans création d'une source de données je devrais choisir :
    DB2/390 JDBC Provider au lieu de DB2 Universal JDBC Provider
    et garder la même configuration pour la suite des données...
    j'insiste aussi sur l'obligation de configurer DB2 V7.2 pour JDBC TYPE 2
    merci beaucoup mon ami, et si tu voudras plus de détail, je suis à ta disposition..
    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. connexion wsad à bdd DB2
    Par hicham_alaoui1 dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 0
    Dernier message: 31/07/2008, 17h04
  2. connexion wsad à bdd DB2
    Par hicham_alaoui1 dans le forum JDBC
    Réponses: 0
    Dernier message: 31/07/2008, 17h03
  3. [DB2] Connexion à une bdd DB2
    Par Commodore dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/07/2006, 16h11
  4. [Applet][MySQL] connexion à une BDD
    Par Michel38 dans le forum JDBC
    Réponses: 19
    Dernier message: 20/07/2005, 14h59
  5. Erreur de connexion à une BDD SQL Server 2000 avec BDE
    Par SchpatziBreizh dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/06/2005, 11h22

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