Developer forum

Forum » Integration » Source file in data integration job is not updated

Source file in data integration job is not updated

Roald Haahr
Reply

Running a 9.9.1, I am experiencing that a source XML file is not updated in the data integration job when I add a new property. This is an annoyance I have faced on other projects as well, so either I'm missing something or there is some sort of problem here.

Specifically, I have made a user import job. Recently, I added AccessUserCountryCode to the mix, but that is not picked up by the data integration job. I then tried to add the value manually the XML-file, that the job i defined in. That resulted in the following error.

Job Failed with the following message: The given value of type String from the data source cannot be converted to type nvarchar of the specified target column.. System.InvalidOperationException: The given value of type String from the data source cannot be converted to type nvarchar of the specified target column. ---> System.InvalidOperationException: String or binary data would be truncated. at System.Data.SqlClient.SqlBulkCopy.ConvertValue(Object value, _SqlMetaData metadata, Boolean isNull, Boolean& isSqlType, Boolean& coercedToDataFeed) --- End of inner exception stack trace --- at System.Data.SqlClient.SqlBulkCopy.ConvertValue(Object value, _SqlMetaData metadata, Boolean isNull, Boolean& isSqlType, Boolean& coercedToDataFeed) at System.Data.SqlClient.SqlBulkCopy.ReadWriteColumnValueAsync(Int32 col) at System.Data.SqlClient.SqlBulkCopy.CopyColumnsAsync(Int32 col, TaskCompletionSource`1 source) at System.Data.SqlClient.SqlBulkCopy.CopyRowsAsync(Int32 rowsSoFar, Int32 totalRows, CancellationToken cts, TaskCompletionSource`1 source) at System.Data.SqlClient.SqlBulkCopy.CopyBatchesAsyncContinued(BulkCopySimpleResultSet internalResults, String updateBulkCommandText, CancellationToken cts, TaskCompletionSource`1 source) at System.Data.SqlClient.SqlBulkCopy.CopyBatchesAsync(BulkCopySimpleResultSet internalResults, String updateBulkCommandText, CancellationToken cts, TaskCompletionSource`1 source) at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalRestContinuedAsync(BulkCopySimpleResultSet internalResults, CancellationToken cts, TaskCompletionSource`1 source) at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalRestAsync(CancellationToken cts, TaskCompletionSource`1 source) at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalAsync(CancellationToken ctoken) at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServerAsync(Int32 columnCount, CancellationToken ctoken) at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table, DataRowState rowState) at Dynamicweb.DataIntegration.Providers.UserProvider.UserDestinationWriter.BulkCopyTable(DataTable table, SqlTransaction transaction) at Dynamicweb.DataIntegration.Providers.UserProvider.UserDestinationWriter.FinishWriting() at Dynamicweb.DataIntegration.Providers.UserProvider.UserProvider.RunJob(Job job)

I then found another post that suggested that I should press 'Check tables schema'. That messed the job up pretty bad, so I don't see that being the solution either.

In an earlier version of DW I found that the problem was that the value was not present on the first item in the list. This is not the case here, so there is another problem.

Kind regards,
Roald, Novicell


Replies

 
Dynamicweb Employee
Dmitriy Benyuk
Reply

Hi Roald,
try to update to the latest 9.9.7 or 9.10, then the issue with SqlBulkCopy exception should give you the failed row.
This is a problem when you are importing string value which is larger than the defined sql server table column nvarchar(someLimit)
so you need to fix the source xml data for the correct import.

You should click  'Check tables schema' then this will show you the updated column in the mappings.

Kind regards, Dmitrij

 

You must be logged in to post in the forum