Problemas com banco

3 respostas
R

Galera

A Classe abaixo, tem como finalidade de efetuar a conexao com o banco.
Porém dento da minha Classe principal, tenho um metodo que trabalhada com varias Instruções SQL de INSERT,DELETE,SELECT, ETC
Porem, para cada instrucao SQL tenho um objeto PreparedStatement
EX:

PreparedStatement ps1 = bd.getConnection().prepareStatement( _QueryBuscaRealtime); PreparedStatement psInsert = bd.getConnection().prepareStatement( _QueryDeGravacao);
Porém a cada momento que ele passa por um instrução do PreparedStatement ele cria um nova conexao com o banco.
Sendo que conexao deveria ser apenas UMA
Onde eu posso estar errando???

public class ConexaoBancoLocal { public static Connection conn ; final String url = "jdbc:oracle:thin:@localhost:1521:DVLP"; final String username = "XXX"; final String password = "XXX"; public ConexaoBancoLocal(){ } public Connection getConnection() throws SQLException, ClassNotFoundException { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection(url, username, password); return conn; } }

3 Respostas

T

Acho que faltam uns ifs no seu programa…

public class ConexaoBancoLocal { 
  public Connection conn = null ; 
  final String url = "jdbc:oracle:thin:@localhost:1521:DVLP"; 
  final String username = "XXX"; 
  final String password = "XXX"; 
  public ConexaoBancoLocal(){ 
  } 
  public Connection getConnection() throws SQLException, ClassNotFoundException { 
        if (conn != null) {
            Class.forName("oracle.jdbc.driver.OracleDriver"); 
            conn = DriverManager.getConnection(url, username, password); 
        }
        return conn; 
    } 
    public void close() {
        try { if (conn != null) conn.close(); } catch (Exception ex) {}
        conn = null;
    }
}
T

Problemas com banco? Consulte o seu gerente e negocie uma redução nos juros…

R

Seria ainda interessante vc criar um bloco statico na classe para nao carregar o Driver do Oracle por Class.forName() toda hora…

public class ConexaoBancoLocal { 
  public Connection conn = null ; 
  final String url = "jdbc:oracle:thin:@localhost:1521:DVLP"; 
  final String username = "XXX"; 
  final String password = "XXX"; 

  static {

      Class.forName("oracle.jdbc.driver.OracleDriver");

  }
(...)

Assim vc evita carregar o driver toda hora.

[ ]'s

Ricardo.

Criado 13 de outubro de 2004
Ultima resposta 14 de out. de 2004
Respostas 3
Participantes 3