Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jorge Roman

Várias ligações à BD Access ao mesmo tempo

Recommended Posts

Olá

 

Quando coloco vários Users (por exemplo, 14) a inserirem dados, mais ou menos ao mesmo tempo, para alguns deles aparece uma mensagem a dar erro.

 

O que posso fazer para conseguir tais ligações ao mesmo tempo?

 

O código é o seguinte:

 

ASP
<%

 

Set conn =  Server.CreateObject("ADODB.Connection")

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("inquerito2007.mdb") & ";Persist Security Info=False"

       

ComandoSQL = "INSERT INTO Dados (datahora,ano,idade)"   

ComandoSQL = ComandoSQL & " VALUES (#" & Now() & "#," & Request.Form("ano") & "," & Request.Form("ano") & ")"

                                               

Set rs = conn.Execute(ComandoSQL)

                       

conn.close

Set rs = Nothing

Set conn = Nothing

 

%>

 

Obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro exatamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

só duas observações antes de você postar o codigo do erro:

1-verifique se a query está correta, para a coluna IDADE você está fazendo o request de ANO

2-não precisa abrir recordset para fazer INSERT, recordset apenas quando faz SELECT, sendo assim creio que seu código fique mais correto assim:

ASP
Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("inquerito2007.mdb") & ";Persist Security Info=False"

ComandoSQL = "INSERT INTO Dados (datahora,ano,idade)"

ComandoSQL = ComandoSQL & " VALUES (#" & Now() & "#," & Request.Form("ano") & "," & Request.Form("IDADE") & ")"

conn.Execute(ComandoSQL)

conn.close

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro exatamente?

O erro é:

======

 

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

 

[Microsoft][Controlador Microsoft Access de ODBC]Erro geral Não é possível abrir a chave de registo 'Temporary (volatile) Jet DSN for process 0xd6c Thread 0xe80 DBC 0x18dce0c Jet'.

 

/inq2007/impr.asp, line 69

Compartilhar este post


Link para o post
Compartilhar em outros sites

a linha 69 tem exatamente o que?

tem:

 

conn.Execute(ComandoSQL)

 

O objectivo do código é o preenchimento de um inquérito (formulário) por alunos (14 ao mesmo tempo).

É verdade que não vão gravar os dados todos ao mesmo tempo.

O código funciona e está a gravar os dados.

Já fiz experiências, e basta alguns gravarem ao mesmo tempo que dá o tal erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque o campo datahora como texto e ao gravar faça assim

obs:ano e cidade devem estar como numeros

 

ComandoSQL = ComandoSQL & " VALUES ('" & Now() & "'," & Request.Form("ano") & "," & Request.Form("IDADE") & ")"

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.