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
'
ODAC adding quotes wrongly
Re: ODAC adding quotes wrongly
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
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
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
Great, thank you Maxim!
Re: ODAC adding quotes wrongly
We have sent you an email with the download links.
Re: ODAC adding quotes wrongly
Confirmed fixed in nightly build, thanks again.