ODBC Invalid Precision value

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
dskid
Participant
Posts: 13
Joined: Mon Jun 19, 2006 12:23 am
Location: uk

ODBC Invalid Precision value

Post by dskid »

Hi,
We are moving our jobs from 8.5 to 11.7 and our jobs extract data from SQL Server to Oracle 12c. These jobs are RCP enabled and we use ODBC stage for loading data into target.

This jobs extracts data from intermediate Dataset to Oracle. We don't have any problem running these jobs in 8.5, but in 11.7 we get the below error whenever there is a length miss-match between source and target fields. In source for one of field lengths is VARCHAR 5000 and target length is VARCHAR 4000.

So we changed the length in target to 5000 (after enabling MAX_STRING_SIZE= extended in Oracle), I am still getting the same error. Any suggestions please? I was able to load other tables where the lengths are matching.

ODBC_Connector_13,0: ODBC function "SQLExecute" reported: SQLSTATE = HY104: Native Error Code = 0: Msg = [IBM(DataDirect OEM)][ODBC Oracle Wire Protocol driver]Invalid precision value. Error in parameter 14. (CC_OdbcDBStatement::executeInsert, file CC_OdbcDBStatement.cpp, line 832)
Last edited by dskid on Mon Jul 09, 2018 8:11 am, edited 1 time in total.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Are the Oracle data types specified in BYTES or in CHARACTERS?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
dskid
Participant
Posts: 13
Joined: Mon Jun 19, 2006 12:23 am
Location: uk

Post by dskid »

Hi Ray,
In Target Oracle, it is defined as VARCHAR2(5000 BYTE).
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

So... which 12c version of Oracle? VARCHAR2 have been limited to 4000 bytes since forever until recently and you need to have set MAX_STRING_SIZE = EXTENDED for it to exceed that - up to 32767 bytes in that case. I wonder if that option is fully supported by ODBC / RCP... may need to be a support question.
-craig

"You can never have too many knives" -- Logan Nine Fingers
dskid
Participant
Posts: 13
Joined: Mon Jun 19, 2006 12:23 am
Location: uk

Post by dskid »

Yes, this has been sent to support as well. Thought will check in the forum if some one has already went thru this issue before. Anyway i will update the thread as soon as i hear from IBM
Post Reply