Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, estou migrando um sistema intranet do IIS 5.1 (XP) para o IIS 7.5 (Seven), mas estou tendo alguns problemas. Alguns eu consegui resolver, mas tens uns que de tanto tentar não consigo enxergar a solução (ou erro). Tenho uma página chamada cad_user.asp que recebe os dados de um formulário e verifica se existe um usuário com o valor da variavel "nome_exib". Se não existir, o valor de cadastra é igual a true e se exister o valor é false. Abaixo ele verifica se cadastra é igual a true, se for era para ele cadastrar. Caso contrário ele não cadastra e continua. Ao preencher o formulário com um nome que já existe no banco de dados, funciona legal, avisa que não foi cadastrado. Mas quando entro com um usuário que eu sei que não tem no banco de dados dá um erro. Veja a estrutura da minha página:
<%
Function GerarRandomize(Valores)
Dim Numeros : Numeros = "0123456789ABCDEFGHIJKL"
Randomize
For I = 1 To Valores
Dim Num : Num = Mid(Numeros, Int(35 * Rnd) + 1, 1)
Dim Chave : Chave = Chave + Num
Next
GerarRandomize = Chave
End Function
Dim objConn, objRS, nome_user, nome_exib, pass, depto, email, situacao, id, questao, resposta, filePath
nome_exib=request.querystring("nome_exib")
nome_user=request.querystring("nome_user")
pass=request.querystring("pass")
depto=request.querystring("depto")
email=request.querystring("email")
questao=request.querystring("questao")
resposta=request.querystring("resposta")
situacao=request.querystring("situacao")
id=(GerarRandomize(80))
filePath=Server.MapPath("../Dados/banco_dados.mdb")
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set objRS=Server.CreateObject("ADODB.Recordset")
Set objRS=objConn.Execute("SELECT * FROM usuarios WHERE nome_exib='"&nome_exib&"'")
If ObjRS.EOF Then
Cadastra=true
Else
Cadastra=false
End If
objConn.Close
If cadastra=true Then
Dim objConn2, objRS2
Set objConn2=Server.CreateObject("ADODB.Connection")
objConn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set objRS2=objConn2.Execute("INSERT INTO usuarios (nome_user, nome_exib, senha, departamento, email, aprovado, questao, resposta, id_sistema) VALUES ('"&nome_user&"','"&nome_exib&"','"&pass&"','"&depto&"','"&email&"','"&situacao&"','"&questao&"','"&resposta&"','"&id&"')")
Session("info")=request.querystring("nome_exib")
Session("cadastrou")=1
Response.redirect("../default.asp")
Else
Session("info")=request.querystring("nome_exib")
Session("cadastrou")=2
Response.redirect("../default.asp")
End If
%>
O erro que aparece no browser é esse:
Microsoft JET Database Engine erro '80004005'
A operação deve usar uma consulta atualizável.
/Intranet/Pages/cad_user.asp, linha 38
O mais interessante (e estranho pra mim) é que isso funcionava tranquilo no IIS 5.1 do XP. Alguém pode me dar uma luz???
Desde já agradeço!
Carregando comentários...