Exécuter une requête Oracle dans une application JEE
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:
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:
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 :
Citation:
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é.