SQLLDR loading Mainframe EBCDIC packed decimal field problem [message #117835] |
Fri, 29 April 2005 20:26 |
DenisS
Messages: 2 Registered: April 2005 Location: Vancouver, Canada
|
Junior Member |
|
|
Hi,
We have recently discovered that SQLLDR can load EBCDIC data - that means we don't have to write a conversion program
However there is a small problem when I am loading EBCDIC data to an oracle table using SQLLDR. The whole thing loads just fine except one packed binary field.
When this field contains 2 digits - everything is fine, however, when this field contains 3 digits - I get the:
"Invalid packed decimal nibble error" in my log file.
And this record does not get loaded.
Here are some pieces of code I use for loading this field from the CTL file:
Load DATA CHARACTERSET WE8EBCDIC37
INFILE "ebcdic_table.txt" "FIX 150"
(...
SWU_NUM POSITION(5:6) DECIMAL (3),
..)
The field on the mainframe is:
SWU-NO PIC S9(4) USAGE COMP.
It's 2 bytes of signed packed decimal.
It has 3 digits and the sign.
I have tried to play around with different digits inside DECIMAL() and some other tricks. But no luck.
Any ideas would be greatly appreciated!
Thanks,
Denis
|
|
|