
Envoyé par
yayamo
salut voici une partie de code: merci de votre aide.
public ConnectionFactory() throws SQLException {
connectionNumber++;
if(connectionNumber==maxconnexionNumber){
connectionNumber=0;
resetConnection();
}
sServeur = rb.getString("db.sServeur");
sDriver = rb.getString("db.sDriver");
sLogin =rb.getString("db.sLogin");
sPassword = rb.getString("db.sLogin");
try
{
if(con==null||con.isClosed()||sta==null){
isOpen=false;
}
if(!isOpen){
con=connect();
isOpen=true;
}
sta = con.createStatement();
}
catch(SQLException exception){
if(con!=null){
con.close();
con=null;
}
con=connect();
sta = con.createStatement();
}
}
private Connection connect() {
// Begin of Log
log.debug("******** Begin of Connection **********");
log.debug("Driver: " + sDriver);
log.debug ("Server: " + sServeur);
log.debug("Login: " + sLogin);
try {
Class.forName(sDriver);
con = DriverManager.getConnection(sServeur, sLogin,
sPassword);
} catch (java.lang.ClassNotFoundException e) {
// on construit une erreur XML
log.error("Connection ERROR: " + e.getCause() + " - "
+ e.getMessage ());
e.printStackTrace();
} catch (SQLException ex) {
// on construit une erreur XML
log.error("cant connect, trying back in 10mn");
try {
Thread.sleep(600000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connect();
// log.error("Connection ERROR: " + ex.getCause() + " - "
// + ex.geytMessage());
//ex.printStackTrace();
}
return con;
}
public ResultSet queryDB(String sRequete) {
ResultSet rsQuery = null;
try {
log.debug("Request: " + sRequete);
rsQuery = sta.executeQuery(sRequete);
} catch (SQLException ex) {
log.error("Error Request : " + ex.getCause() + " / "
+ ex.getMessage());
ErreurBO.setFullErreur ("SYSTEM", "queryDB", ex.getMessage(),
"ERREUR SQL", sRequete, "SYSTEM");
}
return rsQuery;
}
Partager