Page 1 of 1

How to insert exponential numbers in Oracle?

Posted: Thu Aug 05, 2004 2:39 am
by adrian
Hi all,

I have setup a simple job for a staging area. This job reads some data from a source table in Oracle , add some fields, write data to a file and then it suppose to insert it in another table in Oracle. For Oracle connection I use ODBC.
The problem appeared from a field which is defined as NUMBER in Oracle and it has sometimes exponential values. The message from log is below:

abc1..ODBC_6.IDENT1.DSLink7: DSD.BCIPut call to SQLExecute failed.
SQL statement:INSERT INTO ORADEVSTAGE.ABC(DUNS_NUMBER) VALUES (?)
SQLSTATE=22005, DBMS.CODE=0
[DataStage][SQL Client]Non-numeric data was found where numeric required

DUNS_NUMBER = 9.99E125


Any ideas how to handle this situation?

Posted: Sun Aug 08, 2004 9:51 am
by roy
Hi,
The real qustion is how is the number suposed to be seen in the table?
if it is as with regular number you'll need to convert it, to the required format, or is the problem in the source data?.
is there any reason why you don't use the plugin stage to oracel?

IHTH,

Posted: Sun Aug 08, 2004 5:54 pm
by rasi
Check your metadate when you write to a file and check is there any transformation which transforms as string. Also check the metadata of the next jobs which reads from sequential file.

Post your findings

Thanks
Siva

Posted: Mon Aug 09, 2004 2:45 am
by adrian
The column gets translated as double with length 15 in both stages.