We have an upgraded MS Dynamics 365 environment, from which we publish to an Azure SQL database. When I attempt to attach an existing project to it to synchronize data source (using a SQL data source connector as the project normally does) I can connect with a test connect, but then after building the selection tree, TimeXtender throws the error “The given value of type String from the data source cannot be converted to type nvarchar of the specified target column. String or binary data would be truncated." Since it isn’t yet part of project execution but rather a TimeXtender comparison operation, I’m somewhat befuddled as to how to proceed. I’m not sure if this belongs in data sources or desktop, so took a guess on placement.
Best answer by Christian HauggaardView original
@wilsb01 so just to confirm you are getting the error when you try to execute a table in your data warehouse which is mapped to your MS Dynamics 365 data source? If this is the case then try editing the field, to which the error message relates, so that it is a larger string, for example instead of varchar 50 try changing it to varchar 1000.
If the error occurs on synchronization or transfer in your ODX or upon execution in your Business Unit, then try using data type overrides. If using ODX, this can be done by right clicking on your data source and selecting data type overrides. If you using Business Unit, right click on your data source and select table setting and navigate to the data type overrides tab.
It’s actually not on execute of any tables in the DW, unfortunately. Instead, it is on the operation within TimeXtender (not using ODX) when trying to Synchronize Objects on the data source to detect changes in schema. This function normally then would identify any new or deleted tables and columns. It gets as far as building the selection tree, but then throws the error, and unlike within an execution, as it’s an internal TX function, it doesn’t offer information on what table it failed on. Sorry for the lagging response to your note - spam filter grabbed the notification. :(
Can you use a SQL Profiler tool to trace "Synchronize Objects" operation? It may show the query TimeXtender is sending to SQL Server, identifying the table it is accessing. Then, examine the table fields for data type, length and naming.
I will try that again in the morning CST. I was unable to catch any statement against the source DB, so also am checking the project repository, but it’s got other people currently active against it generating extra noise and making it hard to find in the capture. A good suggestion though, hope it works.
It’s looking like it may be related to an insert into the TIMEXTENDERTABLESCHEMA table in the ProjectRepository database, but I’m not able to capture the data it is trying to insert to confirm. It deletes from the table, and I can see a bulk insert command to the table, but it doesn’t successfully insert any rows.
Thank you for all updates. Let’s continue research in the support ticket you have opened.
As discussed in the support ticket, this bug was fixed in 20.10.12 - Bug ID 9228. Please upgrade TimeXtender to resolve the issue. Thanks