A duvida é basica, procurei no tio google e aqui no forum tambm mas nao achei oque queria…
to em duvia ao iniciar uma aplicação com relação a conexão.
qual a melhor maneira de faer a conexao com a base…
tipo
conectar quando o usuario se loga e desconecta quandoo usuario sair do sistema.
ou
só conectar a cada utilização do banco.
tipo conecta…faz o select, alter table, insert e desconecta.
e conecta…e desconecta…
na web acho bom qeu seja da 2º maneira pois pode estourar o limite de conexões do banco.
mas no swing.
á necessidade de fazer isso tambm?
Minha opinião é:
Conecta, insere, desconecta.
Conecta, faz select, desconecta.
Porque:
imagina se o seu sistema estiver em 400 máquinas, e esses 400 computadores estiverem com o sistema aberto e logado. O seu banco iria ficar lento com tantas conexões ociosas.
Mas eu disse isso com relação a uma rede local. Agora vc pensa isso na web! a quantidade de usuários simultâneos que vc poderá ter!
O problema de se manter uma conexão “sempre aberta” diz respeito ao Pool de Conexões. Mesmo que a quantidade de usuarios que acessam o seu sistema, simultaneamente ou não, pode estourar este Pool de Conexão, o que seria indesejavél concorda?
Em relação a Desktop, no seu caso Swing, o mais interessante no meu ponto de vista é simplesmente abrir a conexão somente quando houver necessidade, no famoso CRUD (Create, Retrieve, Update e Delete). Em outras palavras, abre a conexão se houver a necessidade de efetuar um comando SQL e após executado o comando fechar a conexão.
Quanto á web, diria para deixar este gerenciamente a cargo de um AS (Application Server). Facilita e muito sua vida, sem falar que sua preocupação com o Pool de Conexão se torna minima, já que todo o gerencimento deste Pool é efetuado pelo AS.
Um AS que utilizo e recomendo é o JBoss. Mas existem muitos outros e isto fica a seu critério.
O problema de se manter uma conexão “sempre aberta” diz respeito ao Pool de Conexões. Mesmo que a quantidade de usuarios que acessam o seu sistema, simultaneamente ou não, pode estourar este Pool de Conexão, o que seria indesejavél concorda?
Em relação a Desktop, no seu caso Swing, o mais interessante no meu ponto de vista é simplesmente abrir a conexão somente quando houver necessidade, no famoso CRUD (Create, Retrieve, Update e Delete). Em outras palavras, abre a conexão se houver a necessidade de efetuar um comando SQL e após executado o comando fechar a conexão.
Quanto á web, diria para deixar este gerenciamente a cargo de um AS (Application Server). Facilita e muito sua vida, sem falar que sua preocupação com o Pool de Conexão se torna minima, já que todo o gerencimento deste Pool é efetuado pelo AS.
Um AS que utilizo e recomendo é o JBoss. Mas existem muitos outros e isto fica a seu critério.
Abraços! :)[/quote]
é… tem a questão do Pool de Conexões tbem!
Tinha me esquecido disso…
concordo com nel. Como o sgbd configura o limite de usuários que poderão estar conectados a este deverá haver uma camada que faça o controle, no caso o AS. Fazendo desta forma os problemas serão minimizados quando o sistema se tornar maior.
Att.
pensando nisso, vocês tem razão,
não tinha pensado que seria meio chato cuidar das conexões pra nao estourar e tals…
nunca usei jboss mas, vo tentar.
vlw as dicas ai!