Prezados Javaneses,
Gostaria de saber se algum colega da Lista utiliza ou utilizou o MS
ACCESS 97 com JAVA via JDBC-ODBC. Estou vivenciando alguns problemas no
BD e seria �til a troca de experi�ncias. J� foi comentado por v�rios
colegas que o MS ACCESS n�o � um Banco de Dados leg�timo e eu deveria
trocar de Base de Dados. Como isso ainda n�o � poss�vel para mim,
insisto na busca de um interc�mbio mais produtivo na troca de id�ias.
O c�digo listado abaixo exemplifica um problema que eu tive que
contornar, que vem a ser o seguinte:
No m�dulo de ALTERA��O de um Sistema executo um UPDATE na tabela 1, um
DELETE e um INSERT numa tabela 2, e redireciono para um Servlet cuja
fun��o � receber a CHAVE PRIM�RIA e atualizar os dados na tela para uma
nova ALTERA��O/EXCLUS�O, ap�s fazer um Select na mesma tabela 1. Ocorre
que, provavelmente por uma defici�ncia do Driver do MS ACCESS, algumas
vezes o Select � mais r�pido do que o Update, ou seja, atualizo um
campo, mas o que retorna na tela do HTML � o registro imediatamente
anterior � atualiza��o. � uma constata��o de que uma opera��o UPDATE �
muito lenta, se comparada � um INSERT, DELETE ou SELECT. Ap�s v�rios
testes, inclusive com o recurso do PreparedStatement, o resultado deixou
a desejar. Fui for�ado a APELAR, criando um la�o FOR para retardar o
processamento, dando um tempo para que o update conclu�sse a sua tarefa
antes de fazer um select recuperando o registro com os dados
atualizados.
Algu�m teria alguma dica ou coment�rio a fazer ???. Posso modificar a
l�gica para n�o redirecionar para outro Servlet (passando apenas a chave
prim�ria) mas fiquei intrigado com este caso, pois nunca tinha visto um
fato como esse.
Aproveitando a oportunidade: Embora eu tenha constatado uma
incompatibilidade do MS ACCESS 97 com o JDBC 2.0 gerando diversas
"java.lang.UnsupportedOperationException", algu�m poderia confirmar este
fato e/ou sugerir alternativas ???
[]'s
Carlos Campos
// LISTAGEM DE C�DIGO CITADO
if(ope.equalsIgnoreCase("A")) {
query = "update Bei ... where (Bei_Cbs ="+cbs+")";
stmt.executeUpdate(query);
// MAS QUE VERGONHA, ter que retardar o processamento para o Update
terminar de atualizar o BD
long i = 0;
for(i=0;i<100000000;i++) { long j=i; }
query = "delete * from Ibp where (Ibp_Cbs ="+cbs+")";
stmt.executeUpdate(query);
if(ponto.length() > 0) {
query = "insert into Ibp (Ibp_Ip,Ibp_Cbs,Ibp_Ponto)";
query += " values ('"+ip+"',"+cbs+",'"+ponto+"')";
stmt.executeUpdate(query);
}
hsrsp.sendRedirect("http://xxx.xxx.xx.xxx:8080/servlet/xxxxx?cbs="+cbs+"
&muo=SUCESSO");
}
Carlos Campos
[EMAIL PROTECTED]
Analista de Sistemas / Bolsista PCI
MCT/CNPq - CETEM - Centro de Tecnologia Mineral
Fone: 0xx21 5607222 - Ext. 358
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
---------------------------------------------------------------------