Insert que no inserta nada ni da error
Publicado por Lu (8 intervenciones) el 13/02/2006 18:34:34
Mismo mensaje que el foro de JSP, pasa que no se a que se debe el problema.
-------------------------------------------------------------------------------------------------------------
Tengo un problema que hace dias me esta volviendo loca.
El siguiente codigo:
String sql = " insert into shp_reportrqt_tbl (USRID, RPTFILE, REQUESTDTTM, SQLFILTER, DATEFROM, DATETO, RPTSTATUS) "+
" values ("+usrid +" , "+rptfile +" , "+ requestdttm+" , "+ sqlfilter+" , "+datefrom +" , "+dateto +" , "+rptstatus +" ) ";
try{ Connection conn = getConnection();
Statement s = conn.createStatement();
System.out.println("Listo para ejecutar 1");
System.out.println(sql);
s.execute(sql);
System.out.println("Ejecute sql");
s.close();
conn.commit();
}catch(Exception ex){ex.printStackTrace();}
Se supone que inserta un registro en esa tabla (no se ven los datos de conexion porque los esta sacando de un pool).
No tira ningun error pero no inserta nada. Si ejecuto el mismo sql desde el Aqua u otro analizador de consultas anda perfecto.
La base es DB2. Se traba en la linea que dice s.execute(sql); es decir, nunca imprime el texto "Ejecute sql". No se va por el catch tampoco, no tira ninguna exception.
Algo mas raro todavia. A mi en mi maquina me funciona bien, el problema ocurre en el entorno donde debo implementarlo. Tengo otro insert que esta exactamente igual y si funciona (es a otra tabla).
Hice pruebas campo por campo, poniendo campos fijos en lugar de las variables, o sea todo igual pero con este sql:
sql = " insert into shp_reportrqt_tbl (USRID, RPTFILE, REQUESTDTTM, SQLFILTER, DATEFROM, DATETO, RPTSTATUS) "+
" values ('USR', 'REP' , '2006-01-06 11:45:20' , 'Filtro insertado a mano',null,null , null) ";
Ese lo inserta bien, a partir de ahi fui haciendo distintos inserts cambiando en cada uno un campo fijo por la variable correspondiente.
Asi descubri que el unico insert que no se hizo fue el que tenia todo fijo y como campo variable "dateto ". Que puede tener de particular este campo???. El "datefrom" se inserta bien y las fechas son identicas, o sea que no es un problema con el formato de la fecha. Asi se ven ambas en el sistema:
Fecha FROM: '02/03/2006'
Fecha TO: '03/03/2006'
En la tabla ambos son campos de tipo DATE.
Por favor alguien tireme una idea de que puede ser esto!!! ya no se que mas probar...
Gracias.
-------------------------------------------------------------------------------------------------------------
Tengo un problema que hace dias me esta volviendo loca.
El siguiente codigo:
String sql = " insert into shp_reportrqt_tbl (USRID, RPTFILE, REQUESTDTTM, SQLFILTER, DATEFROM, DATETO, RPTSTATUS) "+
" values ("+usrid +" , "+rptfile +" , "+ requestdttm+" , "+ sqlfilter+" , "+datefrom +" , "+dateto +" , "+rptstatus +" ) ";
try{ Connection conn = getConnection();
Statement s = conn.createStatement();
System.out.println("Listo para ejecutar 1");
System.out.println(sql);
s.execute(sql);
System.out.println("Ejecute sql");
s.close();
conn.commit();
}catch(Exception ex){ex.printStackTrace();}
Se supone que inserta un registro en esa tabla (no se ven los datos de conexion porque los esta sacando de un pool).
No tira ningun error pero no inserta nada. Si ejecuto el mismo sql desde el Aqua u otro analizador de consultas anda perfecto.
La base es DB2. Se traba en la linea que dice s.execute(sql); es decir, nunca imprime el texto "Ejecute sql". No se va por el catch tampoco, no tira ninguna exception.
Algo mas raro todavia. A mi en mi maquina me funciona bien, el problema ocurre en el entorno donde debo implementarlo. Tengo otro insert que esta exactamente igual y si funciona (es a otra tabla).
Hice pruebas campo por campo, poniendo campos fijos en lugar de las variables, o sea todo igual pero con este sql:
sql = " insert into shp_reportrqt_tbl (USRID, RPTFILE, REQUESTDTTM, SQLFILTER, DATEFROM, DATETO, RPTSTATUS) "+
" values ('USR', 'REP' , '2006-01-06 11:45:20' , 'Filtro insertado a mano',null,null , null) ";
Ese lo inserta bien, a partir de ahi fui haciendo distintos inserts cambiando en cada uno un campo fijo por la variable correspondiente.
Asi descubri que el unico insert que no se hizo fue el que tenia todo fijo y como campo variable "dateto ". Que puede tener de particular este campo???. El "datefrom" se inserta bien y las fechas son identicas, o sea que no es un problema con el formato de la fecha. Asi se ven ambas en el sistema:
Fecha FROM: '02/03/2006'
Fecha TO: '03/03/2006'
En la tabla ambos son campos de tipo DATE.
Por favor alguien tireme una idea de que puede ser esto!!! ya no se que mas probar...
Gracias.
Valora esta pregunta


0