Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

You are correct that the JDBC query consumer does not automatically populate this attribute, as the multi-table consumer does. You should add a separate expression evaluator processor after your origin to populate this (probably from a hard-coded value since the query consumer has no notion of which table is being queried). You can simply reuse the jdbc.tables name and set it yourself, or choose a different attribute name. Either way, use that attribute name in your destination.

You When using the query consumer, there is the option for Create JDBC Header Attributes, which can, in some cases, populate jdbc.tables similarly to in JDBC multi-table origin. There are correct that various reasons why this might not work (ex: your query itself doesn't query a single table, the JDBC query consumer does not automatically populate driver doesn't support population of this attribute, as the multi-table consumer does. metadata, etc.). You should can do a preview, with Show Record/Field Header option checked, to see if this is being populated.

If this isn't working as expected, and you know the table name that you want to appear in the attribute, you can simply add a separate expression evaluator processor after your origin to populate this (probably from a hard-coded value since this. Specifically, use an entry in the query consumer has no notion of which table is being queried). Header Attribute Expressions section. You can simply reuse the jdbc.tables name and set it yourself, or choose a different attribute name. Either way, use that attribute name in your destination.

When using the query consumer, there is the option for Create JDBC Header Attributes, which can, in some cases, populate jdbc.tables similarly to in JDBC multi-table origin. There are various reasons why this might not work (ex: your query itself doesn't query a single table, the driver doesn't support population of this metadata, etc.). You can do a preview, with Show Record/Field Header option checked, to see if this is being populated.

If this isn't working as expected, and you know the table name that you want to appear in the attribute, you can simply add a separate expression evaluator processor after your origin to populate this. Specifically, use an entry in the Header Attribute Expressions section. You can simply reuse the jdbc.tables name and set it yourself, or choose a different attribute name. Either way, this should be specified under the Header Attribute column, and you can then use that attribute name in your destination.