Estou com um problema aqui que está me fazendo perder muito tempo.
P.S: No SQL SERVER dá tudo certo, mas no oracle acontece o erro a seguir:
Tenho uma página em asp que está validando a senha do usuário através de uma procedure em Oracle.
Se houver algum erro na validação dessa senha, por exemplo, o usuário tenha digitado uma senha com menos de 8 caracteres. Então ele acessa a procedure e verifica que a senha tem menos de 8 caracteres, então retorna erro.
Dentro da FUNÇÃO ValidouSenhaDocente ele acessa a Procedure(ORACLE) e acontece o erro:
a_APrI_Ly_docente.erro := 'A senha deve ter um mínimo de 8 caracteres.';
RETURN;
A função recebe a mensagem de erro:
ValidouSenhaDocente = cmd("erro")
Nesse momento está assim:
ValidouSenhaDocente = "A senha deve ter um mínimo de 8 caracteres."
sRespostaAux = "A senha deve ter um mínimo de 8 caracteres."
Session("ResultadoError") = "A senha deve ter um mínimo de 8 caracteres."
Agora, popula uma variável de sessão:
If sRespostaAux <> "" Then
Session("ResultadoTratamentoSenha") = "NO"
Else
Session("ResultadoTratamentoSenha") = "OK"
End if
Ele entrou no If, então ficou assim:
Session("ResultadoTratamentoSenha") = "NO"
Agora, entra no If, mas não mostra o alert com o erro na tela:
If Session("ResultadoTratamentoSenha") = "NO" Then
Response.Write "<script LANGUAGE=JavaScript>" & _
"self.alert('" & Session("ResultadoError") & "');" & _
"self.location.href = 'AltSenha.asp';</SCRIPT>"
Response.end
End if
Ou seja, era pra aparecer na página, "A senha deve ter um mínimo de 8 caracteres.". Depois ir pra página de alterar a senha
Acontece que não mostra de jeito nenhum o erro e entra normal. Mesmo eu debugando ele entra no If, mas quando dá o response.end não para e se perde.
No SQL tudo isso funciona normal, será que tem algo a ver com o Oracle? O que pode ser? Parece que a variável está recebendo espaço a mais, não sei. Já tentei passar trim, mas não deu certo.
OBS: SE EU COLOCAR O ALERT('ERRO!'), DÁ CERTO. SÓ NÃO DÁ CERTO QUANDO EU QUERO PASSAR VARIÁVEL NO ALERT. SEJA
DE SESSÃO OU NÃO.
Alguém pra ajudar?
Valeu.
Descobri que o erro é justamente na Session("ResultadoError").
Tipo quando eu dou o len(Session("ResultadoError")), me aparece 1023 caracteres.
e na mensagem de erro só são 43:
alguma coisa ta fazendo de errado
pode ser aquele negócio de unicode, asc essas coisas que não manjo.
Pergunta
Xenofonte
Fala Galera,
Estou com um problema aqui que está me fazendo perder muito tempo.
P.S: No SQL SERVER dá tudo certo, mas no oracle acontece o erro a seguir:
Tenho uma página em asp que está validando a senha do usuário através de uma procedure em Oracle.
Se houver algum erro na validação dessa senha, por exemplo, o usuário tenha digitado uma senha com menos de 8 caracteres. Então ele acessa a procedure e verifica que a senha tem menos de 8 caracteres, então retorna erro.
Aqui é a chamada da procedure
Dentro da FUNÇÃO ValidouSenhaDocente ele acessa a Procedure(ORACLE) e acontece o erro: A função recebe a mensagem de erro: Nesse momento está assim: ValidouSenhaDocente = "A senha deve ter um mínimo de 8 caracteres." sRespostaAux = "A senha deve ter um mínimo de 8 caracteres." Session("ResultadoError") = "A senha deve ter um mínimo de 8 caracteres." Agora, popula uma variável de sessão: Ele entrou no If, então ficou assim: Session("ResultadoTratamentoSenha") = "NO" Agora, entra no If, mas não mostra o alert com o erro na tela:Ou seja, era pra aparecer na página, "A senha deve ter um mínimo de 8 caracteres.". Depois ir pra página de alterar a senha
Acontece que não mostra de jeito nenhum o erro e entra normal. Mesmo eu debugando ele entra no If, mas quando dá o response.end não para e se perde.
No SQL tudo isso funciona normal, será que tem algo a ver com o Oracle? O que pode ser? Parece que a variável está recebendo espaço a mais, não sei. Já tentei passar trim, mas não deu certo.
OBS: SE EU COLOCAR O ALERT('ERRO!'), DÁ CERTO. SÓ NÃO DÁ CERTO QUANDO EU QUERO PASSAR VARIÁVEL NO ALERT. SEJA
DE SESSÃO OU NÃO.
Alguém pra ajudar?
Valeu.
Descobri que o erro é justamente na Session("ResultadoError").
Tipo quando eu dou o len(Session("ResultadoError")), me aparece 1023 caracteres.
e na mensagem de erro só são 43:
alguma coisa ta fazendo de errado
pode ser aquele negócio de unicode, asc essas coisas que não manjo.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.