Page 1 of 1

ODAC adding quotes wrongly

Posted: Mon 09 Nov 2020 16:07
by jdorlon
Hello,

If I connect a TSmartQuery to a TDataset and connect that to a grid, I can edit table data in the grid when the query includes the ROWID. In most cases, it works great.

However, if the table is a schema with a dot, like "J.DORLON", and the query is like:

Select e.*, e.rowid from "J.DORLON".EMP e

...then I get an error when I try to edit the data in the grid. ORA-01741 Ilegal zero-length identifier

The problem is that when ODAC does the lock query, it looks like:
SELECT ...fields....
FROM ""J"."DORLON"".EMP
WHERE ROWID = ....
FOR UPDATE NOWAIT

I tried to solve it with OptionsDS.QuoteNames := true, but that did not help

thanks
'

Re: ODAC adding quotes wrongly

Posted: Tue 10 Nov 2020 15:46
by MaximG
Please send us the compete script for creating the "J.DORLON" schema so that we could test our components under the same conditions.

Re: ODAC adding quotes wrongly

Posted: Tue 10 Nov 2020 15:47
by jdorlon
The only thing that matters is the dot in the name, but this is how I created the user.

Code: Select all

create user "J.DORLON" identified by x;
grant dba to "J.DORLON";
grant create session to "J.DORLON";

Re: ODAC adding quotes wrongly

Posted: Thu 12 Nov 2020 11:52
by MaximG
Thank you for the information. We've reproduced the issue and fixed it. The fix will be included in the next build of our product. As a temporary solution, we'll send you an email with the download links for the nightly build with all necessary changes.

Re: ODAC adding quotes wrongly

Posted: Thu 12 Nov 2020 13:41
by jdorlon
Great, thank you Maxim!

Re: ODAC adding quotes wrongly

Posted: Fri 13 Nov 2020 14:38
by MaximG
We have sent you an email with the download links.

Re: ODAC adding quotes wrongly

Posted: Fri 13 Nov 2020 16:29
by jdorlon
Confirmed fixed in nightly build, thanks again.