Page 1 of 1

conversion from source type "uint64" to result typ

Posted: Mon Mar 05, 2012 12:31 am
by prasson_ibm
Hi All,

I constructed one job where my target table is my sql.

I am creating sarrogate key using skey stage col. name CL_ID and loading into the target table.

But i am getting below warning :-

Code: Select all

ODBC_CvNew_Ins: When checking operator: When binding input interface field "CL_ID" to field "CL_ID": Implicit conversion from source type "uint64" to result type "int64": Possible range limitation.
In extended option of SKEY stage i have specified as "Unsigned".But still i am getting above warning.

Is there any way i can remove this warning without supress in log.


Thanks

PK

Posted: Mon Mar 05, 2012 12:48 am
by pandeesh
What about the Unicode property?
Have that set or unset in both the input as well as output.

Posted: Mon Mar 05, 2012 1:19 am
by ray.wurlod
You could specify unsigned integer in CL_ID, and incur a metadata mismatch instead. Better, of course, is to use an explicit conversion function. Worst case demote the warning using a message handler.

Posted: Mon Mar 05, 2012 2:19 am
by prasson_ibm
Hi Ray,

I have already specified CL_ID in SKEY as "UNSIGNED".It seems sarrogate key is creating CL_ID as "Unsigned" and on target table CL_ID is bigint which is signed.

If it is correct,is there any way i can create CL_ID in skey as Signed...??


Thanks

Posted: Mon Mar 05, 2012 3:36 pm
by ray.wurlod
No. Surrogate keys are always generated as uint64. But you could change this downstream of the Surrogate Key Generator stage using, perhaps, a Modify or Transformer stage.

Posted: Mon Mar 05, 2012 4:01 pm
by SURA
RAY's approach is perfect. If your project allowed , then you can handel it using message handler.

DS User

Posted: Mon Mar 05, 2012 11:54 pm
by prasson_ibm
Hi All,

Thanks a lot for your replies. I feel instead of adding one more stage,we can handle it in Message Handler.

Posted: Tue Mar 06, 2012 12:07 am
by ray.wurlod
Lucky you don't work for me. That lazy approach would not be tolerated.