Fatal Error: Not bounded length

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
Jayanto
Participant
Posts: 41
Joined: Fri Feb 18, 2011 12:37 am
Location: Kolkata

Fatal Error: Not bounded length

Post by Jayanto »

Hello All,

First sorry to post in an age old topic, but since this post was related to my issue, hence...!!

I have to load some 380 columns into my Target SQL Server DB. But while loading getting the below fatal error ::

APT_CombinedOperatorController,0: Fatal Error: Not bounded length.

One of the fields has size in target is Varchar(1024), does this pose any issues??

Unable to understand the meaning....!! :?
Regards,
Jayanto
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

'Related' doesn't cut it, you need to start your own topic rather than jump on the end of someone else's resolved topic.

Split and linked.
-craig

"You can never have too many knives" -- Logan Nine Fingers
qt_ky
Premium Member
Premium Member
Posts: 2895
Joined: Wed Aug 03, 2011 6:16 am
Location: USA

Post by qt_ky »

First go into your job properties and add the environment variable APT_DISABLE_COMBINATION then run your job with that set to True.

It should change this message you got to something more meaningful:
APT_CombinedOperatorController,0: Fatal Error: Not bounded length.

VarChar(1024) should not cause any problem. Are any of the other 379 columns defined without having any length?
Choose a job you love, and you will never have to work a day in your life. - Confucius
Jayanto
Participant
Posts: 41
Joined: Fri Feb 18, 2011 12:37 am
Location: Kolkata

Post by Jayanto »

Thanks Eric...!! Yes their were 2 varchar fields whose length wasn't specified. I specified the length, but now getting different fatal error message/s....

APT_CombinedOperatorController,0: [DataDirect][ODBC SQL Server Driver]Invalid SQL data type
APT_CombinedOperatorController,0: [DataDirect][ODBC SQL Server Driver]COUNT field incorrect
{0}

And adding 'n' setting the environment variable APT_DISABLE_COMBINATION to 'True' is giving the below fatal error along with the above one's ::

ODBC_LOANIMPORT,0: [DataDirect][ODBC lib] Program type out of range

But the job is finishing successfully, despite these fatal errors. :?

Any other hints or guesses...!! Stuck over here.... :(
Regards,
Jayanto
qt_ky
Premium Member
Premium Member
Posts: 2895
Joined: Wed Aug 03, 2011 6:16 am
Location: USA

Post by qt_ky »

On the "Invalid SQL data type" error, you may actually have a data type in the job design that SQL Server can't handle, or you may need to upgrade your DataDirect ODBC drivers to the newest 6.1 release. Upgrading drivers resolved these same SQL Server / ODBC errors for me.

On the "COUNT field incorrect" error, make sure none of your columns are named "COUNT" as that is a reserved word or key word in SQL.

For the fatal errors/no abort situation, I have seen a tech note about fatal errors not causing jobs to abort but it was on a different stage type and it was specific to version 7.5.2.

On all of the above and any remaining errors, I would recommend contacting Support.
Choose a job you love, and you will never have to work a day in your life. - Confucius
Jayanto
Participant
Posts: 41
Joined: Fri Feb 18, 2011 12:37 am
Location: Kolkata

Post by Jayanto »

Hello Eric,

Thanks a ton for the help and guidance...!! The above issues got resolved, there were some mismatch in the actual table def. But now a new one popped up. While inserting the data am getting a fatal error as::

ODBC_BORROWERIMPORT_1: Unrecognized argument: INSERT
INTO dbo.BorrowerImport (RollNumber, LastName, FirstName, MiddleName, sub_num, subrssn, age, bdate, addr, city, state, zip, hinc, rexp, mplcd, empl)
VALUES
(ORCHESTRATE.RollNumber, ORCHESTRATE.LastName, ORCHESTRATE.FirstName, ORCHESTRATE.MiddleName, ORCHESTRATE.sub_num, ORCHESTRATE.subrssn, ORCHESTRATE.age, convert(datetime,ORCHESTRATE.bdate), ORCHESTRATE.addr, ORCHESTRATE.city, ORCHESTRATE.state, ORCHESTRATE.zip, ORCHESTRATE.hinc, ORCHESTRATE.rexp, ORCHESTRATE.mplcd, ORCHESTRATE.empl)

The Target is a SQL Server 2008 R2 DB. In target there are some 24 columns, but am populating only 16 through datastage Insert. Others will be set to NULL.

From source the date is coming as '01/01/1900', and am converting it to datetime. The above query is running fine in SQL Server 2005.

Please guide....!! :cry:
Regards,
Jayanto
qt_ky
Premium Member
Premium Member
Posts: 2895
Joined: Wed Aug 03, 2011 6:16 am
Location: USA

Post by qt_ky »

I'm going to have to guess on this one... The SQL looks OK. Maybe the ODBC doesn't like the convert function. You could try moving that little transformation to a stage before the ODBC stage.
Choose a job you love, and you will never have to work a day in your life. - Confucius
Jayanto
Participant
Posts: 41
Joined: Fri Feb 18, 2011 12:37 am
Location: Kolkata

Post by Jayanto »

Hello Eric,

Thanks....!! But how do I do it in a stage before....? From my source am getting it as 'mm/dd/ccyy', and is a varchar field.

And in the target it is a datetime field??
How do I get this transformation??

Please guide....!! Am stuck and totally confused.... :cry:
Regards,
Jayanto
qt_ky
Premium Member
Premium Member
Posts: 2895
Joined: Wed Aug 03, 2011 6:16 am
Location: USA

Post by qt_ky »

I had to load a SQL Server datetime field once and found that setting the target column's data type as Timestamp(23,3) worked. So it will expect the data to be in a format like YYYY-MM-DD HH:NN:SS.SSS. In a Transformer stage derivation you can right click and choose from the various built-in date/time/timestamp/string functions to manipulate as needed. Those are documented in the Parallel Job Developer's Guide appendix.
Choose a job you love, and you will never have to work a day in your life. - Confucius
Jayanto
Participant
Posts: 41
Joined: Fri Feb 18, 2011 12:37 am
Location: Kolkata

Post by Jayanto »

Thanks Eric....!!

Just to check if am able to load data or not, I did set the bdate field to Null, using the SetNull() function. But still the job is aborting, giving the fatal error as ::

1. ODBC_BORROWERIMPORT_1: Unrecognized argument: INSERT
INTO dbo.BorrowerImport (RollNumber, LastName, FirstName, MiddleName, sub_num, subrssn, age, bdate, addr, city, state, zip, hinc, rexp, mplcd, empl)
VALUES
(ORCHESTRATE.RollNumber, ORCHESTRATE.LastName, ORCHESTRATE.FirstName, ORCHESTRATE.MiddleName, ORCHESTRATE.sub_num, ORCHESTRATE.subrssn, ORCHESTRATE.age, ORCHESTRATE.bdate, ORCHESTRATE.addr, ORCHESTRATE.city, ORCHESTRATE.state, ORCHESTRATE.zip, ORCHESTRATE.hinc, ORCHESTRATE.rexp, ORCHESTRATE.mplcd, ORCHESTRATE.empl)

2. main_program: Creation of a step finished with status = FAILED.

Don't know whether this info is going to help or not, but am using DataStage 7.5 and trying to load into SQL Server 2008 R2. My DataDirect ODBC Driver Version is 5.O .... Can this pose as an obstacle...!!


Help... Help...!! :cry:
Regards,
Jayanto
qt_ky
Premium Member
Premium Member
Posts: 2895
Joined: Wed Aug 03, 2011 6:16 am
Location: USA

Post by qt_ky »

Yes, I'm familiar with that topic. That could certainly be the cause. You don't know until you try upgrading your DataDirect drivers, or try the same job and same SQL into a supported version of SQL Server based on your driver version...

viewtopic.php?t=145041
Choose a job you love, and you will never have to work a day in your life. - Confucius
Post Reply