We have finally started converting our code base to Clarion 11.1. We have run into an issue with attaching to the Oracle database. This morning, I installed Clarion 10 and it has the same issue. The error is attached. I have tried three different instant clients without any change. I can attach to the database with sqldeveloper and sqlplus. I have checked the Oracle driver (ClaORA.dll) and it seems appropriate for Clarion 11. Any thoughts?
Just a wild guess here, and probably not the problem, but did you ensure that the driver is also available in the Dictionary file drivers? There are 2 menu choices for file drivers.
It’s probably a path issue. The file that Clarion will be looking for is OCI.DLL. And you want it to find the 32bit OCI.DLL before any 64 bit version. My path currently looks (in part) like this:
PATH=C:\Program Files (x86)\Oracle Client for Microsoft Tools;C:\Oracle_32bit\product\19.0.0\client_1\bin;c:\oracle32;C:\Oracle_64bit\product\19.0.0\client_1\bin;
so Clarion will actually be using the full 32 bit version 19 client because that’s what it finds first. If that wasn’t there it would use the instant client that is in oracle32. And fortunately it would find both of those before it hit the 64bit full version 19.
SQLDeveloper uses JDBC, I don’t think it uses OCI at all. SQLPlus does, but it will probably be using ORACLE_HOME in the registry to find it. So netiher of those helps sort out path problems. The fact that you have SQLPlus at all suggests that you probably have a full client installed, and maybe that’s a 64-bit version that Clarion is running into?
I was going to suggest putting the Instant Client files into your program’s directory, but then I noticed the problem you are having is from the dictionary editor, not your program. You could also put the instant client files in clarion\bin, but that’s not such a good idea.
Jon
We are set path (where oracle bin is located), tns_admin (where tnsnames.ora is located) and nls_lang (f.e. “GERMAN_GERMANY.WE8MSWIN1252”).
Normally Clarion 11 should get which Oracle version is used.
You can set the registry value “HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SoftVelocity\Oracle” with entry “DLL” and your oci dll (f.e. OraClient11.dll)
JonW’s solution worked. I found where the instant client created a second path entry; and, I neglected to reset the ORACLE_HOME environmental variable when I switched from 19 to 12. It works like a champ now…
Thank you JonW and all…