12/09/2013, 05:43
|
| | Fecha de Ingreso: noviembre-2007
Mensajes: 15
Antigüedad: 17 años, 1 mes Puntos: 0 | |
Casting varying para Postgres Hola, buenos días.
Tengo un problemilla, a ver si me podéis echar cable.
Resulta que estoy haciendo un programa en Java y estoy tratando de insertar los datos en la BBDD que es en PostGres.
El caso es que a la hora de insertar los datos, me sale este error:
ERROR: la columna «DSAADENTRA» es de tipo timestamp with time zone pero la expresión es de tipo character varying
Hint: Necesitará reescribir la expresión o aplicarle una conversión de tipo.
Así está definido en la BBDD las variables: Cita: CAYUEXPEDI VARCHAR(13)
CSAAD VARCHAR(35)
DSAADENTRA TIMESTAMPTZ
DIASSENTRA TIMESTAMPTZ Y luego en la clase para definir esto: Cita: private String CAYUEXPEDI;
private String CSAAD;
private String DSAADENTRA;
private String DIASSENTRA; El procedimiento para insertar datos (no es un procedimiento almacenado, es un Insert) Cita: PreparedStatement stmt = connection.prepareStatement("insert into presta_pia values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?)");
stmt.setString(1, piaayu.getCAYUEXPEDI());
stmt.setString(2, piaayu.getCSAAD());
stmt.setString(3, piaayu.getDSAADENTRA());
stmt.setString(4, piaayu.getDIASSENTRA());
stmt.setString(5, piaayu.getCTITIDENIF()); He probado a cambiar DSAADENTRA y DIASSENTRA a formato Date y nada. Ni tampoco funciona con Timestamp.
¿Existe alguna solución sin tocar nada la BBDD?
Muchas gracias y un saludo. |