Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Debug package error

Status
Not open for further replies.

jambu

Programmer
Nov 20, 2002
185
GB
I have an error occurring with a package under the following circumstances.

A high level package 'A' calls two other packages ('B' and 'C') which each call a number of other packages.

Package B runs packages that copy data from an Oracle database to a sql server repository database and package C copies/transforms the data to the final target sql server database.

One of the packages that Package B runs (lets call that 'X') returns an error when Package A is run but doesnt if run directly or run from Package B.

The error is Column "column name" not found.
The column exists in the Oracle source table and in the newly created (created in a step by package X) sql server table. The Oracle column is a varchar2 50 long with Null allowed (all the data in this column is currently Null) and the sql server column is varchar 50 nulls allowed.

I can verify that the tables are created and populated when I run 'X' or 'B' and that it is only 'A' that gives me the error.

Any suggestions on how to tackle this one?

Thanks in advance.
 
Is this some sort of timing issue - ie when run from A is it possible that a step is looking for this column that at that point in time doesnt exist ? Although when run from B it does exist.

Hope that makes sense.

[bandito] [blue]DBomrrsm[/blue] [bandito]

[blue]Software code, like laws and sausages, should never be examined in production[/blue][black] - [/black][purple]Edward Tenner[/purple]
 
I forgot to mention that the column in question is the last one in the table if it makes any difference.

Here is the error message that I get if I click on the error when it occurs (the repeated bit was on the error message).

DTSStep_DTSExecutePackageTask_2:(2:packageX) SubStep 'DTSStep_DTSDataPumpTask_1' failed with the following error:
Column name 'LastColumn' was not found.
(2:packageX) SubStep 'DTSStep_DTSDataPumpTask_1' failed with the following error:
Column name 'LastColumn' was not found.
-----------------------------------------------
If I check the error when PackageA has finished running I get a slightly different error.

(2:packageA) SubStep 'DTSStep_DTSDataPumpTask_2' failed with the following error:
(2:packageX) SubStep 'DTSStep_DTSDataPumpTask_1' failed with the following error:
Column name 'LastColumn' was not found.

 
DBomrrsm

No I don't think so, the table is created by PackageX before populating it, this works when I run PackageX or PackageB. When I run PackageA the table is created but I get the error and no data is copied into it.

thanks.
 
Are you sure that nothing else references this column before package X creates and populates it - I take it that the table/column is dropped somewhere in the process and recreated etc next time around if so a good test might be to create the table and column and run package A and see if it still fails.

[bandito] [blue]DBomrrsm[/blue] [bandito]

[blue]Software code, like laws and sausages, should never be examined in production[/blue][black] - [/black][purple]Edward Tenner[/purple]
 
dbomrrsm

Package X drops then creates the sql server target table by calling stored procs before transferring data to the new table via a 1 to 1 (copy columns) transformation.

I can't think of anything else to try with this at the moment.
 
Just in case anyone else has this problem...

I deleted the link to package X from package B and recreated it, this now works and I no longer get the error.

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top