Our database connections currently use the Microsoft system.data.odbc assembly. We discovered the Sybase assembly is more efficient. We tried to replace the Microsoft assembly with ianywhere.data.SqlAnywhere.v4.0.dll. Assembly version was 11.0.1.29134. SADataReader failed to read large string values properly. For example, several rows contained over 80000 characters in the string column. However, it only returned 65535 characters. We also had some rows containing over 160000 characters - and those worked fine. We tried to work around the problem using casts, appending spaces within query, etc. However, nothing worked. The column in question is a "long varchar" column (CLOB). So maybe these column types have issues. We have decided to keep using the Microsoft solution until the bug is addressed. |
UPDATE: This issue is now resolved in CR #742857, in builds 11.0.1.3013, 12.0.1.3937, 16.0.0.1602. I have now been able to reproduce this issue and have opened CR #742857 to address this problem in a future EBF of SQL Anywhere. Thank you for the bug report. |
Thanks for your report. Unfortunately, it's not clear from your description how you're seeing this behaviour precisely - could you please add the .NET code to your description that you used to retrieve the values? We may be able to help clarify the behaviour if you can provide an example for us.
Maybe it is a problem with the encoding of the data in the strings...