3
votes

I'm a trying to make a SSIS package that extracts data from a view in and Oracle database and saves this in a flat file. No coversions, no nothing.

My problem is that when I preview the data in the source component it looks correct and returns ex. "1000200" (invoicenumber). But when i preview the data in the flat file destination it truncates the data, so all I see is "1". Also persists if I run the package (must set the ValidateExternalMetaData to false in order to do so).

Data type in Oracle source is varchar2(30) and SSIS identifies it as DT_STR (30).

I have tried:

  • Changing output data type to DT_WSTR - but SSIS reverts this automatically
  • Use a data conversion component to convert DT_STR to DT_WSTR - no luck
  • Tick unicode and untick unicode in destination component
  • Change data type in component
  • Google myself to death...

Will really appreciate all the help I can get.

1
It's really hard to tell without seeing the Data Flow but if you have to urn off validation to get it to run something is fishy. Leave validation on and inspect errors you get when trying to run (or validate) - this will make it way easier to track down the problem. Btw.: What is the codepage for your File Destination?Filburt
If i enable the validation i get: SSIS.Pipeline: "Oracle Source" failed validation and returned validation status "VS_NEEDSNEWMETADATA" Codepage is ANSI 1252Specialet

1 Answers

0
votes

I think that the problem is from the destination flat file columns metadata.

Open the Destination Flat File Manager, Go To Advanced Tab, Click on the Destination Column and Make sure that the column length is 30