Boa tarde…
Estou com problemas na conexão jdbc:odbc. Toda vez que faço uma consulta sql… a aplicação não libera memória e continua a oculpar cada vez mais…
Estou fechando o resultSet , entretanto, mesmo assim não libera há liberação.
Percebi que toda vez que eu minimizo a janela do ms-dos, há uma liberação siginificativa de recursos, cerca de 80%.
Alguém sabe o que pode estar acontecendo?[color=“darkblue”][/color]
Posta o código pra dar uma idéia melhor do problema…
Você está fechando também o statement e a conexão? Bem sugiro usar ODBC apenas para conectar com access, já que até hoje nunca vi um driver para ele. Caso contrário use o driver JDBC para conectar com sua base de dados.
:okok:
Cara está é minha dor de cabeça…desculpe se o código estiver confuso…mas faz um mês que comecei a trabalhar com Java…
//Consulta : Busca todos os dados do cliente especifico.
private void SqlSeachCadCliFilter(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conexaoCadCli = DriverManager.getConnection(url,"ASP",k00FG );
CriaState = conexaoCadCli.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
conexaoCadCliRs = CriaState.executeQuery(
"SELECT ClienteCod,ClienteDataInclusao,ClienteRazaoSocial,ClienteCnpj,"+
"ClienteIE,ClienteEndereco,ClienteBairro,ClienteCidade,ClienteUF,"+
"ClienteCEP,ClienteContatoNome, ClienteContatoDpto,ClienteContatoEmail,"+
"ClienteContatoTelefone, ClienteObservacoes,ClienteConfInvCampo1Out,"+
"ClienteConfInvCampo2Out,ClienteConfInvCampo3Out,ClienteConfInvCampo4Out,"+
"ClienteConfInvTam1Out,ClienteConfInvTam2Out,ClienteConfInvTam3Out,"+
"ClienteConfInvTam4Out"+
" FROM ClienteCadastro WHERE ClienteCadastro.ClienteCod = "+VarSqlSeachCadCliFilter+"");
conexaoCadCliRs.next();
tfCodigo.setText(conexaoCadCliRs.getString("ClienteCod"));
tfDataInclusao.setText(formatDate_.format(conexaoCadCliRs.getDate("ClienteDataInclusao")));
tfRazaoSocial.setText(conexaoCadCliRs.getString("ClienteRazaoSocial"));
tfCnpj.setText(conexaoCadCliRs.getString("ClienteCnpj"));
tfIe.setText(conexaoCadCliRs.getString("ClienteIE"));
tfEndereco.setText(conexaoCadCliRs.getString("ClienteEndereco"));
tfBairro.setText(conexaoCadCliRs.getString("ClienteBairro"));
tfCidade.setText(conexaoCadCliRs.getString("ClienteCidade"));
tfUf.setText(conexaoCadCliRs.getString("ClienteUF"));
tfCep.setText(conexaoCadCliRs.getString("ClienteCEP"));
tfContato.setText(conexaoCadCliRs.getString("ClienteContatoNome"));
tfDepto.setText(conexaoCadCliRs.getString("ClienteContatoDpto"));
tfEmail.setText(conexaoCadCliRs.getString("ClienteContatoEmail"));
tfTelefone.setText(conexaoCadCliRs.getString("ClienteContatoTelefone"));
jT.setText(conexaoCadCliRs.getString("ClienteObservacoes"));
cbOutCampo1.setSelectedItem(conexaoCadCliRs.getString("ClienteConfInvCampo1Out"));
cbOutCampo2.setSelectedItem(conexaoCadCliRs.getString("ClienteConfInvCampo2Out"));
cbOutCampo3.setSelectedItem(conexaoCadCliRs.getString("ClienteConfInvCampo3Out"));
cbOutCampo4.setSelectedItem(conexaoCadCliRs.getString("ClienteConfInvCampo4Out"));
cbOutTam1.setSelectedItem(conexaoCadCliRs.getString("ClienteConfInvTam1Out"));
cbOutTam2.setSelectedItem(conexaoCadCliRs.getString("ClienteConfInvTam2Out"));
cbOutTam3.setSelectedItem(conexaoCadCliRs.getString("ClienteConfInvTam3Out"));
cbOutTam4.setSelectedItem(conexaoCadCliRs.getString("ClienteConfInvTam4Out"));
changeCadCli.setEnabled(true);
delCadCli.setEnabled(true);
conexaoCadCliRs.close();
CriaState.close();
conexaoCadCli.close();
conexaoCadCli = DriverManager.getConnection(url2,"ASP",k00FG);
CriaState = conexaoCadCli.createStatement();
conexaoCadCliRs = CriaState.executeQuery("SELECT ClienteCadProEndereco,ClienteCadProEAN,ClienteCadProNome FROM ClienteCadProd WHERE ClienteCod = '"+VarSqlSeachCadCliFilter+"'");
resNom = new Vector();
resNom.addElement("Endereço");
resNom.addElement("EAN");
resNom.addElement("Nome");
resCol = new Vector();
int count = 0;
while(conexaoCadCliRs.next()){
resLin = new Vector();
resLin.addElement(conexaoCadCliRs.getString("ClienteCadProEndereco"));
resLin.addElement(conexaoCadCliRs.getString("ClienteCadProEAN"));
resLin.addElement(conexaoCadCliRs.getString("ClienteCadProNome"));
resCol.addElement(resLin);
count += 1;
}
tableModel.setDataVector(resCol,resNom);
tbCadProdCli.getColumnModel().getColumn(0).setPreferredWidth(170);
tbCadProdCli.getColumnModel().getColumn(1).setPreferredWidth(150);
tbCadProdCli.getColumnModel().getColumn(2).setPreferredWidth(480);
lbExibeNumReg.setText(count+"");
validate();
jP00.updateUI();
repaint();
conexaoCadCliRs.close();
CriaState.close();
conexaoCadCli.close();
} //Fim try.
catch (ClassNotFoundException ex){
JOptionPane.showMessageDialog(null,"Não foi Possível conectar com o Banco.\n Driver JDBC-ODBC não econtrado!","Erro JDBC",JOptionPane.WARNING_MESSAGE);
}
catch (SQLException ex)
{
JOptionPane.showMessageDialog(null,"Não foi Possível conectar com o Banco.\n "+ex.getMessage(),"Erro SQL",JOptionPane.WARNING_MESSAGE);
}
}//Fim do método.