Está funcionando, porém estou com uma certa dúvida se esta é a maneira mais indicada de efetuar a conexão. Não gostaria de mantê-la aberta, porém o tempo gasto quando executo a conexão é um pouco grande, o que causa lentidão no sistema se após cada consulta eu fechar a conexão.
Esse sistema só faz consultas na base, não realiza nenhuma inserção ou atualização.
O tempo levado para realizar a conexão é grande mesmo? Aqui está levando uns 7 segundos. Tem relação com a forma que estou fazendo?
Existem outras alternativas?
Exato Lipe.
Como não tenho experiencia com desenvolvimento em Java, queria saber se esse tempo é normal (normal não pode ser! rs…), pois fiquei com dúvida se era alguma falha naquilo que eu estava fazendo. Em uma situação normal, isso não ocorre não é mesmo?
Outro ponto é esse de manter ou não a conexão aberta. Eu estava enfrentando problemas pois tinha que carregar muitas imagens na tela, e pelo que li em um tópico aqui do proprio GUJ, seria interessante fechar todos os objetos que utilizo para acesso a banco. O problema é que com essa lentidão toda vai complicar um pouco para eu fazer isso.
7 segundos pode ser normal sim … se o seu banco está num outro computador e você está com conexão discada
Verifique se o driver que está usando é o mais atual e/ou melhor disponível no mercado e verifique se não há nenhuma outra barreira extra entre sua aplicação e o banco.
Sobre fechar a conexão, sim, é uma boa prática liberar recursos assim que possível. Portanto otimize o seu tempo com ela aberta: faça o máximo que puder, no menor tempo possível e então feche a danada.
Ai que tá o problema, o banco está em outra máquina, mas ainda estou em uma rede local. Quando colocar em ambiebte de produção com conexão discada não quero nem ver.
Bom, vou verificar o driver, para ver se tem alguma versão mais atual, de alguma forma, tenho que melhorar isso.
Na verdade cv, o driver que tinha encontrado era esse. Mas pelo que deu a entender, o thindriver deve possuir vantagens. Sinceramente nunca utilizei :oops: , mas como você levantou essa alternativa vou tentar utilizá-lo e ver se consigo um melhor resultado.
Assim que fizer testes comento aqui os resultados.
[quote=Luca]1. Use o driver classes12 que se pode baixar do próprio site da Oracle
[/quote]
Ou o driver ojdbc14 que também pode ser baixado no próprio site da Oracle.
[quote=Lruiz]Está funcionando, porém estou com uma certa dúvida se esta é a maneira mais indicada de efetuar a conexão. Não gostaria de mantê-la aberta, porém o tempo gasto quando executo a conexão é um pouco grande, o que causa lentidão no sistema se após cada consulta eu fechar a conexão.
[/quote]
Quanto a realização de conexões, fechar ou manter aberta: recomendo que tu uses um pool de conexões para resolver esse problema.
com relação ao ctx.lookup está correto, é assim mesmo.
Agora em relação ao erro : Name idxce_dba is not bound in this context,
o que está acontecendo é que vc tentou definir o Resource dentro do Server.XML e na verdade deve ser criado um contexto específico para sua aplicação dentro do diretório CONF/CATALINA/LOCALHOST.
Vc pode utilizar o código que está na documentação do próprio TomCat mas não colocá-lo no server.xml, pois senão esse resource fica fora de contexto e daí o erro.
Eu sugiro que vc configure o TomCat diretamente na tela do TomCat Administration, pois ele já faz as alterações nos arquivos xml corretamente. Assim vc iria criar o Resource na árvore SERVER/HOST/CONTEXT (sendo que vc deve criar um novo JNDI Data Source dentro do contexto da sua aplicação). Entendeu ou não entendeu ?