Forum Discussion
Conversion from number to string failed due to undersized character buffer
- 6 years ago
Thanks Anonymous! Now, it's working. Microsoft has now posted an awareness message to their support page about this:
I have a couple of Delta Tables in Azure Data Bricks that I access with Power BI via an imprt query. One of these tables, which is identical in schema as two other tables, continously throw the same error as described above in this thread:
Failed to save modifications to the server. Error returned: 'OLE DB or ODBC error: [DataSource.Error] ERROR [HY000] [Microsoft][Support] (50130) Conversion from number to string failed due to undersized character buffer.. '.
I am running the latest Power Desktop version and runtime version (11.1) on the data bricks cluster.
JonJagd we have solved this error by creating views over our Delta Lake tables:
- Truncate any Timestamp columns to seconds
- Cast numeric columns to Float
- JonJagd3 years agoHelper I
Thanks for your input. I have made table(views) in data bricks over tyh delta tables in Delta Lake, so I guess that is what you have also done. This is the schema and some sample data:
So it is ether time timestamp column or the bigint or floats thatcould be causing the issue?
- gah1133 years agoAdvocate I
Most likely the Double columns - I would cast those as Float in your view definition and retry the refresh.
Double-valued columns will have more precision (i.e. more significant digits) that overflow the character buffer when imported via the ODBC driver. Casting to Float reduces the number of digits and should prevent overflow.
- JonJagd3 years agoHelper I
Thanks a lot for the input gah113 . I changed all Double columns to Float, and so far the load has succeeded, so this might very well be the thing that did the trick. My total data volumes are still a bit smaller than before, so hopefully it will continue working, but so far it is looking good.