Foros del Web » Programación para mayores de 30 ;) » Java »

Llamada a StoreProc mysql que falla

Estas en el tema de Llamada a StoreProc mysql que falla en el foro de Java en Foros del Web. Llamada a procedimiento almacenado de MySQL que devuelve un error en la sintaxis de SQL pero la sentencia está bien, no encuentro que puede ser: ...
  #1 (permalink)  
Antiguo 13/11/2013, 01:27
Tio
 
Fecha de Ingreso: enero-2005
Mensajes: 54
Antigüedad: 19 años, 2 meses
Puntos: 1
Llamada a StoreProc mysql que falla

Llamada a procedimiento almacenado de MySQL que devuelve un error en la sintaxis de SQL pero la sentencia está bien, no encuentro que puede ser:


aQuí el código de llamada al store proc:

// Instancio un obj. para contener un producto.
Modelo.ClassProductoFitosanitario p = new ClassProductoFitosanitario();

try {

conexion = java.sql.DriverManager.getConnection(URL_bd,usuari o,contraseña);
CallableStatement proc = conexion.prepareCall("call FITOSANITARIOS_Lee (?,?,?,?");
proc.setInt("IdP", Id);
proc.registerOutParameter("NombreP", Types.VARCHAR);
proc.registerOutParameter("MateriaP", Types.VARCHAR);
proc.registerOutParameter("PlazoP", Types.INTEGER);
proc.execute();

p.Nombre = proc.getString("NombreP");
p.Materia = proc.getString("MateriaP");
p.Plazo = proc.getInt("PlazoP");

} catch (SQLException ex) {
Logger.getLogger(ModeloModificarFitosanitarios.cla ss.getName()).log(Level.SEVERE, null, ex);
}



aquí pongo el storeproc de mysql:

CREATE DEFINER=`admin`@`%` PROCEDURE `FITOSANITARIOS_Lee`(
IN IdP INT,
OUT NombreP VARCHAR(45),
OUT MateriaP VARCHAR(45),
OUT PlazoP INT)
BEGIN

SELECT
Nombre,
Materia,
Plazo
FROM FITOSANITARIOS
WHERE Id = IdP
INTO NombreP, MateriaP, PlazoP;

END



YO por mas vueltas que le doy lo veo bien, el storeproc funciona en consola sin problemas, pero cuando en java llego a proc.execute(); me arroja la excepción

Etiquetas: falla, llamada, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:48.