Hi All
I have a parallel job with before dataset as Oracle table and after dataset - a Dataset.
There are Timestamp fields to be compared and these fields are nullable. As long as there are no nulls in both datasets, the comparison happens correctly.
So I have converted the timestamp to varchar using TimestampToString and mapped a default text value 'xxxx' in case of actual null, similarly converted the field from Oracle query using Trim(NVL(TO_CHAR(TmstpField),'xxxx')).
The metadata matches in both before and after datasets which is varchar(100) null - yes;
The timestamps still do not match which causes the changecode to be 3, even when they are the same.
Thanks for your responses.
Timestamp comparison in Change Capture stage
Moderators: chulett, rschirm, roy
I've found it safer to always specify explicit conversion formats and to never use the defaults. Thus I'd use a specific timestamp conversion format (preferably YYYY-MM-DD HH:NN:SS.nnnnnn so that you can correctly sort the string version of the timestamp).
You also should perform your NVL() function before your conversion, but that shouldn't affect your outcome (I don't have Oracle here to check).
You can try a test job where the change code 3 records have just these two columns output to a sequential file (using quoted strings to capture hidden spaces) to see if they are truly identical.
You also should perform your NVL() function before your conversion, but that shouldn't affect your outcome (I don't have Oracle here to check).
You can try a test job where the change code 3 records have just these two columns output to a sequential file (using quoted strings to capture hidden spaces) to see if they are truly identical.
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>