Page 1 of 1

Empty error messages with ODBC, Sybase SQL Anywhere 17 and UTF-8 Encoding

Posted: Wed 20 May 2020 09:16
by COMLAB Computer GmbH
Hello UniDAC team,

We've encountered a problem using the UniDAC components.

At first some general information:
  • Provider: ODBC
  • ODBC driver: Sybase SQL Anywhere 17 (or SAP SQL Anywhere 17 if you prefer)
  • UniDAC version: 8.0.1
  • Character set encoding: UTF-8
Almost everything works fine, except for the exceptions.
When an exception is raised by a sql statement, it starts to act odd.

The error messages returned by the UniDAC components are empty (an empty string to be exact):
Image
That empty error message problem occurs when the encoding of the database is set to utf-8.

It does not occur when the encoding is set to windows-1252:
Image

The statement executed to generate this error message was 'SELECT 1 FROM x;', whereas the table 'x' doesn't exist.

To narrow down the problem I tried different components to access the database, and all of the components returned the correct error message, even when the database was using utf-8.

Aside from that, the umlauts using utf-8 are incorrect, when an error is returned describing a connection error:
Image
This error message was generated using invalid login data.

The following options were used in the TUniConnection component:
Image

I hope the information provided is helpful to solve this problem.

Kind regards
Pascal Vahlberg
(Developer at COMLAB Computer GmbH)

P.S.: I already filled out the support contact form on your website, but I neither received an answer, nor did I receive the copy I checked to receive.

Re: Empty error messages with ODBC, Sybase SQL Anywhere 17 and UTF-8 Encoding

Posted: Mon 25 May 2020 13:56
by oleg0k
Hello,
Thank you for the information. We've reproduced the issue and are currently working to resolve it. We'll keep you updated on the progress.

wbr, Oleg
Devart Team

Re: Empty error messages with ODBC, Sybase SQL Anywhere 17 and UTF-8 Encoding

Posted: Fri 12 Jun 2020 06:04
by COMLAB Computer GmbH
Dear UniDAC team,

May I request a status update on this issue?
Or at least a timeframe in which this issue will be solved.
Our software depends on this component and without these error messages we're unable to properly check and debug certain aspects of it.

Kind regards
Pascal Vahlberg
(Developer at COMLAB Computer GmbH)

Re: Empty error messages with ODBC, Sybase SQL Anywhere 17 and UTF-8 Encoding

Posted: Thu 18 Jun 2020 14:13
by oleg0k
Hello,
There seems to be a bug in the ODBC Driver for SQL Anywhere: the driver doesn't return an error message if the buffer for storing an error message is 8 KB or more and UFT-8 is used. We've created a workround in our ODBC provider, the error message should be returned now. Please send us your license number, IDE version, and email at which we can send you the nightly build of UniDAC via the contact form on our website: https://devart.com/company/contactform.html

wbr, Oleg
Devart Team

Re: Empty error messages with ODBC, Sybase SQL Anywhere 17 and UTF-8 Encoding

Posted: Fri 26 Jun 2020 07:42
by COMLAB Computer GmbH
Dear UniDAC team,

I've now filled out that contact form for the third time.
I'm hoping that we'll receive an answer this time.
The first two times we never even got a copy to our email, even though "Send a copy to my email" has definitely been checked.

Kind regards
Pascal Vahlberg
(Developer at COMLAB Computer GmbH)

Re: Empty error messages with ODBC, Sybase SQL Anywhere 17 and UTF-8 Encoding

Posted: Mon 29 Jun 2020 07:34
by COMLAB Computer GmbH
Dear UniDAC team,

Thank you for your help.
I can gladly report that the nightly build you send us is working correctly and error messages are no longer empty.

Kind regards
Pascal Vahlberg
(Developer at COMLAB Computer GmbH)