Bonjour,

J'essaie de tester ma connexion entre une application web en JEE et une base de données oracle (10g express version).

Voici mon code dans mon fichier bean.java:

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
18
19
20
21
22
23
24
25
26
27
28
private String sQuery="";
String sQuery = null; 
this.sQuery="select count(*) from table "; 
Statement sStat=null; 
Connection cCon=null;
try{  // le chargement du driver 
   Class cDriverOracle=Class.forName("oracle.jdbc.driver.OracleDriver"); 
   Driver dDriverOracle=(java.sql.Driver)cDriverOracle.newInstance(); 
   DriverManager.registerDriver(dDriverOracle); 
          cCon=DriverManager.getConnection("jdbc:oracle:thin:@//127.0.0.1:1521/xe","base","pass"); 
   } 
   catch(Exception e){ 
   System.out.println("--Pbm en chargeant le driver JDBC oracle--"); 
   e.printStackTrace(); 
   } 
 
   try{ 
   sStat=cCon.createStatement();   
   ResultSet rs=sStat.executeQuery(sQuery); 
   while(rs.next()){ 
   System.out.println("le résultat de la requete: "+rs.getObject(1)); 
   } 
   sStat.close(); 
   } 
   catch(Exception sqlE){ 
   System.out.println("La Requête n'a pas abouti"); 
   sqlE.printStackTrace(); 
   }

La connexion fonctionne normalement mais j'ai toujours un probleme dans la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ResultSet rs=sStat.executeQuery(sQuery);

Là ça bloque et je reçois "La Requête n'a pas abouti" ce qui fait que je ne peux pas aboutir a des résultats.
l'erreur est :
java.sql.SQLException: L'instruction SQL à exécuter ne peut être ni vide ni null
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.OracleSql.initialize(OracleSql.java:112)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1260)
at com.sdzee.bdd.TestJDBC.executerTests(TestJDBC.java:100)
at com.sdzee.servlets.GestionTestJDBC.doGet(GestionTestJDBC.java:19)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
SVP aidez moi. Ça fait 3 jours de blocage pour quelque chose de classique. Je vous remercie.

PS: ce même bout de code je l'ai écrit dans un projet java et ça marche mais dans un projet JEE ça n'a pas voulu marché.