Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 10-ene-2008, 00:14   #1 (permalink)
Yecco ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 11
login pl/sql desde java

Hola.

Como puedo validar un login en un procedimiento almacenado? hasta ahora tengo algo asi:

Código PHP:
CREATE OR REPLACE PACKAGE BODY validarLogin IS

PROCEDURE validar 
(
  
usuario_in USUARIOS.USUARIO%type,
  
clave_in USUARIOS.CLAVE%type,
  
validacion OUT NUMBER
IS
clave_check USUARIOS
.CLAVE%type :='VACIO';
BEGIN

 SELECT CLAVE INTO clave_check
 FROM USUARIOS
 WHERE USUARIO IN 
(usuario_in);

 IF (
clave_check=clave_inTHEN
  validacion
:=1;
 ELSE
  
validacion:=0;
 
END IF;

EXCEPTION
  WHEN OTHERS THEN
  RAISE_APPLICATION_ERROR
(-20001,'Datos Incorrectos');

END validar;

END validarLogin;

pero al recuperarlo en un servlet me tira el error feo ese de sql (SQLException: ORA-20001: Datos Incorrectos ORA-06512: en "VALIDARLOGIN", línea 23 ORA-06512: en línea 1 ) cuando en la tabla no existen los valores ingresados.


Como puedo hacer que no salga ese error y tratar de capturarlo en java y hacer algo mas bonito en le servlet?

Saludos!

Última edición por Yecco; 10-ene-2008 a las 00:20.
Yecco está desconectado   Responder Citando
Antiguo 10-ene-2008, 00:28   #2 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.515
Re: login pl/sql desde java

El procedimiento esta haciendo lo que le toca, y Java tambien . Puedes capturar la excepcion y mirar a ver si responde con el codigo ORA-20001 y si es así sabes que es un error de login, o, si te dejan, puedes modificar el PLSQL para que en vez de lanzar una excepcion, devuelva un valor, convirtiendo el procedimiento en una funcion.

Si te dejan, es más eficiente usar una función puesto que lanzar una excepcion consume mas recursos que seguir el flujo normal de un programa.

S!
GreenEyed está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:09.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93