Page 1 of 1

Removing this unused output column

Posted: Mon 03 May 2021 10:10
by gootchick
I'm using the Devart Mysql Destination component. From time to time this component automatically fills output columns property. Manually is possible to remove this property from Output\External Columns, but removing the property from Output\Output columns ends with error message:

Pipeline component has returned HRESULT error code 0xC020800F from a method call.

I try to remove these output properties because of the generation warning message in the SSIS log:

The output column "CF" (27) on output "Output" (26) and component "Devart MySql Destination" (2) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.

... and all warnings are sent to my email for the fix. So please fix this behavior or at least write me, how can I fix it manually...

Thanx
Jan

Re: Removing this unused output column

Posted: Mon 03 May 2021 12:42
by Shalex
Please refer to:
* viewtopic.php?f=60&t=38286
* viewtopic.php?f=60&t=41316

Output columns in Devart MySql Destination are the same as the ones in Devart PostgreSql Destination.

Re: Removing this unused output column

Posted: Mon 03 May 2021 14:34
by gootchick
Thanks for the reply...

I understand that the behavior is the same as in the PostgreSQL component. But when I have no connection from the Destination component to the next component in the flow, I suppose that I will not receive any similar warning message.

I have quite a lot of tasks build in SSIS and I try to have zero number of warnings. This component generates me full log of these warnings and I can lose another important message.

Re: Removing this unused output column

Posted: Wed 05 May 2021 12:35
by DmitryGm
gootchick wrote: Mon 03 May 2021 10:10 The output column "CF" (27) on output "Output" (26) and component "Devart MySql Destination" (2) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
The warning message is produced because some of the Source columns aren't used in the Destination. At the same time, the list of Output Columns in the Source component must match the columns produced by Source Query. We shouldn't and can't remove columns from there.

"Removing this unused output column can increase Data Flow task performance" message means that it is better to edit the Source SQL query in order to include only the columns that will be used after. For this, you can list only necessary fields in the SELECT statement instead of *.

Re: Removing this unused output column

Posted: Wed 05 May 2021 21:18
by gootchick
Yes, that is true ... for the SOURCE component. But the problem is with the DESTINATION component.

In my case, Dataflow has two components OLE DB Source and Devart MySQL Destination. All fields from the Source output are mapped to destination fields, there is not any unused field. And Destination component is the last component in the flow. Even this fact, the destination component has then output column and this column generate this warning. When I used the integrated OLE DB Destination component (slow, I rather use your Devart component), there is no output column.
In the rare case can be useful to have an output column even on the destination component (eg. chain) but ordinary is the destination final component.
My Source components are optimized for reading only fields, which are necessary for data transfer. I transfer gigabytes and I need high speed. Second important thing is to have validated data, so I regularly (mostly by script) check event logs for problems. That's the reason I need to have logs without warnings.

Re: Removing this unused output column

Posted: Wed 05 May 2021 21:32
by gootchick
This is an integrated component OLE DB Destination. There is no any Output section:

Image


... and here is the Devart MySQL Destination. There is an Output section (and cannot be manually deleted and because is last in the flow, the system generates the warning).:

Image

Re: Removing this unused output column

Posted: Thu 06 May 2021 15:24
by DmitryGm
This Output Column is a reserved column for the Destination ids. It is added by the design of the Devart Destination components, and currently we don't plan to change it.

"Removing this unused output column can increase Data Flow task performance" is a standard SSIS message. In this case (with Destination ids) it doesn't affect performance.