Respondendo às dúvidas, segundo o pouco que conheço. Não sei se é a melhor
solução, mas ai vai:

1 - )  A conexão se for do tipo static será acessada por todas as instâncias
do servlet. Ou seja você e outro carinha que acessarem o mesmo servlet de
máquinas diferentes utilizarão a mesma conexão. Para conectar com o banco de
dados, o ideal é no construtor ou no método init() mesmo.

2 - ) Abra os statements sempre antes da execução do comando SQL e feche-o
após a conclusão ou obtenção de dados do resultset.

3 - ) Acesso simultâneo é complicado, deve-se utilizar pool de conexões para
evitar erros no acesso simultâneo. Tente encontrar exemplos nos sites de
servlets disponíveis na net:

www.servlets.com
www.coolservlets.com

Agora não sei se é possível acesso concorrente com o Access. Ele não é um
banco muito indicado para aplicações com servlets. Tente buscar alguma
documentação a respeito disto. Quem sabe...

Abraços
Eduardo
eCorp
[EMAIL PROTECTED]


----- Original Message -----
From: "Carlos Campos" <[EMAIL PROTECTED]>
To: "'Lista SouJava'" <[EMAIL PROTECTED]>
Sent: Friday, June 08, 2001 10:11 AM
Subject: [java-list] Dúvida sobre Statements com Servlets


Prezados Javaneses,

Apenas a título de ratificação gostaria de confirmar o seguinte procedimento
no uso de Servlets:

1.) Deve-se abrir a conexão com o Banco de Dados no método Init():
     con1  = DriverManager.getConnection(url1,"","");
     checkForWarning(con1.getWarnings());

2.) Deve-se abrir os Statements SEMPRE no método Service() de modo a evitar
a colisão com as múltiplas conexões ?
    stmt1 = con1.createStatement();
    checkForWarning(con1.getWarnings());

Esta dúvida surgiu quando testei o acesso simultaneo com vários usuários num
Banco MS Access 97 e o driver ODBC gerava os seguintes erros de SQL (Sql
Exception) : "General Error" ou "Erro de Sequência de Função";

O problema seria uma limitação do MS Access em acessar simultaneamente o
mesmo registro por vários usuários, mesmo por um simples SELECT através da
ponte JDBC-ODBC ???

Estranhamente isto não ocorre quando se usa um programa C/S em Visual Basic.
Seria uma deficiência da ponte JDBC-ODBC ???

Sei que no uso de laços WHILE, por exemplo, temos que abrir um Statement
para cada ResultSet acionado, mas gostaria de confirmar este conceito sobre
ONDE abrir corretamente os Statements de modo a obter o máximo de
performance do Servlet independente das limitações do Banco de Dados, ok?

Agradeço pelos comentários,

[]'s

Carlos Campos
Analista de Sistemas / Bolsista PCI
[EMAIL PROTECTED]
MCT / CETEM - Centro de Tecnologia Mineral
Fone: 0xx21 3865-7358
Fax :  0xx21 290-9196


------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------




------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Reply via email to