Update destination schema without refreshing the database table destination

Good morning

I want to increase the varchar length of a destination column in a database table destination. However, I want to avoid refreshing a corresponding destination in a centerprise dataflow.

Is it possible that a non-refreshed dataflow in that case may cause error?

Good morning,

Yes, you may increase the length of a column in the database destination object in the dataflow. And all the non-refreshed dataflows using the similar table will not cause any error. However, in order to achieve this, you will have to use Create/Replace Table option, instead of Pick Table and specify the length of the column that you want to edit in the object layout. Doing so will drop your existing table with same naming convention and create a new table with updated schema.

Furthermore in the database table destination properties of a non-refreshed dataflow, the UI will still display the old length in the Layout Builder, as it has not been refreshed, but on executing the job it will not cause an error since the length of the field has been updated on the database server.

Note: If you use create/replace option in the database table destination object, it will truncate the existing table and replace it with a new one. If you want to avoid the truncating of the data, you will have to edit the length of the column from the database server itself.

Regards,
Fahad

Hi Fahad,

Apologies, what I meant was that if we update the schema of the destination table from the database server itself, do I still need to refresh the Centerprise layout, or will it be able to pass the records that satisfy the length defined in the server?

In that case, you’ll have to make sure that the Check Field Lengths option is not checked in the DB Destination properties. (Please refer to the screenshot). If this option is unchecked you can successfully write data that satisfies the length defined in database server without the need of refreshing the layout.