Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2010, 01:50
Noelito3
 
Fecha de Ingreso: mayo-2009
Mensajes: 169
Antigüedad: 14 años, 11 meses
Puntos: 3
java.sql.SQLException: Índice de columna no válido.

Buenas.

Yo tenía un procedimiento con la siguiente cabecera:

PROCEDURE PTLP_CONSULTAR_PERFIL_USUARIO (I_USUARIO_BUSCAR IN VARCHAR2, I_CONSULTOR IN VARCHAR2,
I_PANTALLA IN VARCHAR2, O_MENSAJE OUT VARCHAR2,
O_PERFILES OUT VARCHAR2 )


Y lo llamaba así desde mi JSP:

miConexion.setSentenciaBase("PTLPKG_VER_PASSWORDS. PTLP_CONSULTAR_PERFIL_USUARIO", 5);
miConexion.sentenciaBase.setString(1, pReq.getQualifiedParameter(paramDni).trim());
miConexion.sentenciaBase.setString(2, pReq.getUser().getName());
miConexion.sentenciaBase.setString(3, "D");
miConexion.sentenciaBase.registerOutParameter(4,Or acleTypes.VARCHAR);
miConexion.sentenciaBase.registerOutParameter(5,Or acleTypes.VARCHAR);

miConexion.ejecutar();


El problema viene cuando le he añadido un parámetro más de entrada (el que está en negrita):

PROCEDURE PTLP_CONSULTAR_PERFIL_USUARIO (I_USUARIO_BUSCAR IN VARCHAR2, I_CONSULTOR IN VARCHAR2,
I_PANTALLA IN VARCHAR2, O_MENSAJE OUT VARCHAR2,
O_PERFILES OUT VARCHAR2, I_LOGIN IN VARCHAR2 DEFAULT NULL )


Y lo llamo así:

miConexion.setSentenciaBase("PTLPKG_VER_PASSWORDS. PTLP_CONSULTAR_PERFIL_USUARIO", 5);
miConexion.sentenciaBase.setString(1, pReq.getQualifiedParameter(paramDni).trim());
miConexion.sentenciaBase.setString(2, pReq.getUser().getName());
miConexion.sentenciaBase.setString(3, "D");
miConexion.sentenciaBase.registerOutParameter(4,Or acleTypes.VARCHAR);
miConexion.sentenciaBase.registerOutParameter(5,Or acleTypes.VARCHAR);
if(pReq.getQualifiedParameter(paramUsuario)!=null)
miConexion.sentenciaBase.setString(6, pReq.getQualifiedParameter(paramUsuario));


miConexion.ejecutar();


Pero ahora me da el error: java.sql.SQLException: Índice de columna no válido


¿Alguien sabe a qué se debe?

Muchas gracias por anticipado.
__________________
http://felinfo.blogspot.com/