Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2013, 05:43
Kurace
 
Fecha de Ingreso: noviembre-2007
Mensajes: 15
Antigüedad: 16 años, 6 meses
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.