Aquí está el código completo para acompañar la última respuesta (para mayor claridad).
En su archivo data-config.xml, lea la fecha de la base de datos y envíela a una marca de tiempo:
select cast(STRT_DT as timestamp) as STRT_DTTS from DATES
Póngalo en una entidad DataImportHandler, que se ve así:
<entity name="startDate" transformer="script:startDateTransform"
query="select cast(STRT_DT as timestamp) as STRT_DTTS from DATES" >
<field column="STRT_DTTS" name="STRT_DT" />
</entity>
Esta consulta devolverá oracle.sql.TIMESTAMP, pero no se asignará directamente a la fecha. Por lo tanto, se requiere un transformador de script. Así introducimos script:startDateTransform
. En el mismo data-config.xml, puede insertar JavaScript así:
function startDateTransform(row){
// Get the timestamp and convert it to a date
var dateVal = row.get("STRT_DTTS").dateValue();
// Put the correct date object into the original column
row.put("STRT_DTTS", dateVal);
return row;
}
Aquí convertimos la marca de tiempo en una fecha, actualizamos el valor de la columna y devolvemos la fila con la nueva información.
El campo STRT_DT
:
<field column="STRT_DTTS" name="STRT_DT" />
ahora debería contener la fecha correcta.