Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1269 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [EJB]Problème de connexion JDBC

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[EJB]Problème de connexion JDBC

n°1039884
Devil6662
Posté le 08-04-2005 à 12:03:50  profilanswer
 

Bonjour à tous, voilà ce que j'essaye de faire mais sans succès.
Je voudrais remplacer ce code si( qui fonctionne très bien!)

Code :
  1. public boolean check()throws java.rmi.RemoteException{
  2.     Vector v = new Vector();
  3.     String sQuery = "";
  4.     String Acces = "";
  5.     String acc = "";
  6.     boolean check = false;
  7.     sQuery= "select * from USERS";
  8.     Statement sStat = null;
  9.     Connection cCon = null;
  10.     ResultSet myRs;
  11.     try{
  12.       Class cDriverOracle=Class.forName("oracle.jdbc.driver.OracleDriver" );
  13.       Driver dDriverOracle=(java.sql.Driver)cDriverOracle.newInstance();
  14.       DriverManager.registerDriver(dDriverOracle);
  15.       String URL="jdbc:oracle:thin:@ldieu2:1521:security";
  16.       String User="LDIEU";
  17.       String Passd="*********";
  18.       cCon=DriverManager.getConnection(URL,User,Passd);
  19.     }
  20.     catch(Exception e){
  21.       System.out.println("--Problème de chargement du driver Oracle" );
  22.       e.printStackTrace();
  23.     }
  24.     try{
  25.        sStat=cCon.createStatement();
  26.        myRs=sStat.executeQuery(sQuery);
  27.        while (myRs.next() ){
  28.          Acces = myRs.getString("LOGIN" );
  29.          System.out.println(Acces);
  30.          acc = "true";
  31.        }
  32.        /**if (acc.equals("" )){
  33.          while (myRs.next() ){
  34.            check = false;
  35.          }
  36.        }*/
  37.        if (acc.equals("true" )){
  38.            check = true;
  39.        }
  40.       sStat.close();
  41.       }
  42.       catch(Exception sqlE){
  43.            System.out.println("La requête n'à pas obouti" );
  44.            sqlE.printStackTrace();
  45.            }
  46.     return check;
  47.   }


 
Par ce code ci, car je voudrais enlever tous les éléments de connexion, afin de rendre mon code plus portable, en cas de changment de username,...

Code :
  1. public boolean check()throws java.rmi.RemoteException{
  2.     try {
  3.           javax.naming.Context context = new javax.naming.InitialContext();
  4.           try {
  5.               dataSource = (DataSource) context.lookup("java:comp/env/jdbc/DataSource" );
  6.           }
  7.           catch(Exception e) {
  8.                throw new EJBException("Error looking up dataSource: " + e.toString());
  9.           }
  10.     }
  11.     catch(Exception e) {
  12.           throw new EJBException("Error initializing context:" + e.toString());
  13.     }
  14.     String sQuery = "";
  15.     String Acces = "";
  16.     String acc = "";
  17.     boolean check = false;
  18.     sQuery= "select LOGIN from USERS where FIRST_NAME= Leroy ";
  19.     Connection cCon = null;
  20.     Statement sStat = null;
  21.     ResultSet myRs;
  22.     try {
  23.       cCon= dataSource.getConnection();
  24.       sStat=cCon.createStatement();
  25.       myRs = sStat.executeQuery(sQuery);
  26.       while (myRs.next() ){
  27.         Acces = myRs.getString("LOGIN" );
  28.         System.out.println("Login: "+Acces);
  29.         acc = "true";
  30.       }
  31.       if (acc.equals("true" )){
  32.           check = true;
  33.        }
  34.     sStat.close();
  35.     }
  36.     catch(Exception sqlE){
  37.          System.out.println("La requête n'à pas obouti" );
  38.          sqlE.printStackTrace();
  39.            }
  40.     return check;
  41.   }


Mais sa ne fonctionne pas, j'ai pourtant bien crée mon pool de connection DataSource sous JBuilder, mais sa ne fonctionne pas, il m'affiche des problèmes concernant DataSource !!
Voilà le code de retour que j'ai lorsque je fais un RUN du client test:

Code :
  1. -- Calling check()
  2. java.rmi.RemoteException: EJB Exception: ; nested exception is:
  3. javax.ejb.EJBException: Error initializing context:javax.ejb.EJBException: Error looking up dataSource: javax.naming.NameNotFoundException: While trying to look up comp/env/jdbc/DataSource in /app/ejb/CECUSesMod.jar#CECUSes.; remaining name 'comp/env/jdbc/DataSource'
  4. at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
  5. at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:290)
  6. at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:247)-- Failed : check()
  7. at cecusesproject.CECUSes_e3q30w_EOImpl_814_WLStub.check(Unknown Source)
  8. at cecusesproject.CECUSesTestClient2.check(CECUSesTestClient2.java:196)
  9. at cecusesproject.CECUSesTestClient2.main(CECUSesTestClient2.java:24)
  10. Caused by: javax.ejb.EJBException: Error initializing context:javax.ejb.EJBException: Error looking up dataSource: javax.naming.NameNotFoundException: While trying to look up comp/env/jdbc/DataSource in /app/ejb/CECUSesMod.jar#CECUSes.; remaining name 'comp/env/jdbc/DataSource'
  11. at cecusesproject.CECUSesBean.check(CECUSesBean.java:65)
  12. at cecusesproject.CECUSes_e3q30w_EOImpl.check(CECUSes_e3q30w_EOImpl.java:45)
  13. at cecusesproject.CECUSes_e3q30w_EOImpl_WLSkel.invoke(Unknown Source)
  14. at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
  15. at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
  16. at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
  17. at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
  18. at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
  19. at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
  20. at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
  21. at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
  22. at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
  23. -- Return value from check(): false.


 
Merci a tous pour votre aide, car je suis perdu ! :hello:


Message édité par Devil6662 le 08-04-2005 à 12:22:24
mood
Publicité
Posté le 08-04-2005 à 12:03:50  profilanswer
 

n°1040708
machinbidu​le1974
Do you feel lucky, punk ?
Posté le 08-04-2005 à 19:15:45  profilanswer
 

Est-ce-que ta datasource de nom "comp/env/jdbc/DataSource" est bien dans un contexte JNDI accessible par ton EJB ?

n°1042660
Devil6662
Posté le 11-04-2005 à 10:37:48  profilanswer
 

Je t'avoue que je n'en sais absolument rien, je ne m'y connait pas assez je dois dire,
voilà ce dont je dipose comme info, mon nom de GNDI est CECUSes comme donné dans le fichier
weblogic-ejb-jar.xmldont voici le code.

Code :
  1. <weblogic-enterprise-bean>
  2.     <ejb-name>CECUSes</ejb-name>
  3.     <jndi-name>CECUSes</jndi-name>
  4.     <resource-ref>java:comp/env/jdbc/DataSource</resource-ref>
  5.   </weblogic-enterprise-bean>


Pour ce qui est du reste je n'ai rien spécifié !
Merci à toi pour ton aide, ciao  :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [EJB]Problème de connexion JDBC

 

Sujets relatifs
[Oracle] Connexion à distanceprobleme avec EXCELL
Probleme avec Collections.sort(List<T> list)Connexion base 4D
solution pour probleme d´applet signé mais sans accés disque ou socketprobleme de pointeur
[PHP] problème pour echanger des donnees avec un serveur SOAPproblème script connexion easyphp 1.8
problème script connexion easyphp 1.8 
Plus de sujets relatifs à : [EJB]Problème de connexion JDBC


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR