अंतिम उत्तर (अतिरिक्त स्पष्टता के लिए) के साथ जाने के लिए यहां पूरा कोड है।
अपनी data-config.xml फ़ाइल में डीबी से तारीख पढ़ें और टाइमस्टैम्प पर कास्ट करें:
select cast(STRT_DT as timestamp) as STRT_DTTS from DATES
DataImportHandler निकाय में डालें, जो इस तरह दिखता है:
<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>
यह क्वेरी एक oracle.sql.TIMESTAMP लौटाएगी, लेकिन यह सीधे आज तक मैप नहीं करेगी। इसलिए एक स्क्रिप्ट ट्रांसफार्मर की आवश्यकता है। इस प्रकार हम पेश करते हैं script:startDateTransform
. उसी डेटा-config.xml में, आप इस तरह जावास्क्रिप्ट सम्मिलित कर सकते हैं:
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;
}
यहां हम टाइमस्टैम्प को एक तिथि में बदलते हैं, कॉलम मान को अपडेट करते हैं और नई जानकारी के साथ पंक्ति वापस करते हैं।
फ़ील्ड STRT_DT
:
<field column="STRT_DTTS" name="STRT_DT" />
अब सही तारीख होनी चाहिए।