ORA-01460 and 9.2i

Cybrey

Member²
We're getting the usual

"can bind a LONG value only for insert into a LONG column"

on an execute with a TOracleDataset on a UTF8 database. The code worked perfectly on 8i. The code also works perfectly if the session property UseOCI7 set to true, this isn't really an option.

We think the error is occuring as Oracle 9.2i has tightened up its binding. The field type thats causing the problem is defined in Delphi as a ftString (String). But in the database we suspect that ORACLE is turning varchar2(255) into a long because of it being a multibyte database. In the DOA code when it assigns the variables across it does a query.execute to get the types. This is the line thats falling over. This is before the code that changes strings to memos kicks in.

Can anyone shed any light on the issue, or how we may go about solving it, without changing the 10,000 or so TOracleDatasets we use over to using ftMemo (Long) ?

Cheers,
Cybrey

[This message has been edited by Cybrey (edited 14 January 2003).]
 
You should upgrade to the latest 3.4.6 release to fix this. Oracle 9.2 reports the wrong character size, and the latest 3.4.6 release fixes this.

TOracleSession.BytesPerCharacter must be set to bcAutoDetect though.

------------------
Marco Kalter
Allround Automations
 
Thanks for the reply and help.

I've tried downloading the file mentioned and I get an error unpacking file message when running the .exe file supplied in the zip file.
 
The file on our server is okay, so I guess it was corrupted during tye download transfer. You may need to download it again to get a good copy. Make sure that you disable your proxy server, just in case it has cached the corrupted version.

------------------
Marco Kalter
Allround Automations
 
I've downloaded it 4 times on my machine and twice on someone elses. The zip file is fine as it doesn't have any CRC's, the problem comes when running the exe.

I'm fairly sure the company doesn't use a proxy server.

We've also downloaded previous updates. Are there any other locations other than the one listed on the page ? or any other alternatives, we're kind of a predicament at the moment as we need this fix to release the product.

Thanks,
Cybrey
 
Hi,

Had the same bug with UTF8 database. That wasn't really a bug because my Session.BytePerCharacter was bc1Byte. Changing to bcAutoDetect fixed the problem. (I hope)

BTW, I've seen on metalink that some people have ORA-01460 problems with UTF8 on Oracle 9.2 release. Looks very weird!

Regards,
Alex

------------------
Regards,
Alex
 
Back
Top