After trying to import data from a REST source in the ODX I got an SQL Exception with error code 4815.
After a bit of Google I ended up on this page, telling me that it had something to do with SQLBulk copy not able to match the columns in source and destination or the value of a column was larger than in the destination allowed (e.g. string with length of 200 -> nvarchar(100)).
Because TimeXtender defines the columns it probably didn't have something to do with that.
Because the RSD I created didn't have a column size specified, all my string type field allowed 2000 chars. Thinking that none of the string fields were going to be larger, I started changing int to double and after that all the fields to string and later even to text. None of this worked which send me back to start. After properly examining the parquet file I found 1 record that had a text field that exceeded the 2000 char limit.
The next time I get this error I will do the following steps:
1. Examine data type of API (OpenApi definition, documentation or inside the application itself)
2. Examine data return by API in Parquet file (viewer)
This viewer has the option of sizing the columns based on the value. This way you can easily see which one is large and may need a MAX length.
3. Change the correct column to xs:type="text" and "columnsize="0" which seems to change it to MAX.
After all that refresh by doing a new Synchronize, recreate the table with the new schema, deploy and execute the changes and then you are done... hopefully..
<attr name="example" xs:type="text" columnsize="0" readonly="false" other:xPath="/json/data/example" />