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:
Y luego en la clase para definir esto:CAYUEXPEDI VARCHAR(13)
CSAAD VARCHAR(35)
DSAADENTRA TIMESTAMPTZ
DIASSENTRA TIMESTAMPTZ
CSAAD VARCHAR(35)
DSAADENTRA TIMESTAMPTZ
DIASSENTRA TIMESTAMPTZ
Cita:
El procedimiento para insertar datos (no es un procedimiento almacenado, es un Insert)private String CAYUEXPEDI;
private String CSAAD;
private String DSAADENTRA;
private String DIASSENTRA;
private String CSAAD;
private String DSAADENTRA;
private String DIASSENTRA;
Cita:
He probado a cambiar DSAADENTRA y DIASSENTRA a formato Date y nada. Ni tampoco funciona con Timestamp.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());
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());
¿Existe alguna solución sin tocar nada la BBDD?
Muchas gracias y un saludo.