Errror: OCICALL.DLL using Oracle8 client + Oracle 11 client
Posted: Fri 25 Feb 2011 13:04
Hello,
I have just logged a specific support-request with title "OCI.DLL Error: Using oracle 11 client + Oracle 8 client" (+ uploaded full test project) about OCICALL.DLL when using Oracle 8 client + Oracle 11 client in 1 application.
I will post in short some info about the error. Maybe some other forum people can give also some feedback.
We have an oracle 734 DB and Oracle 10.2 DB.
On the clients we have oracle 8 client installed as the default home, and oracle 10 client installed.
Our applications uses dotconnect 6.10.96.0 and uses 2 connections objects, one for oracle 734 using oracle8 client, and one for oracle 10 using oracle 10 client.
So far so good. This is working perfect (already for some years)
Currently we have setup a new Oracle 11.2 DB which would replace the full oracle 10.2 DB. The old oracle 734 is still needed.
So my plan was to have on the clients the oracle 8 client (for access to oracle734) and the new oracle 11.2 client for connecting to oracle 11.2
So no oracle 10 client anymore on the client.
But when I now test an application which has both a connection towards oracle 734 and oracle 11.2 --> I encounter ocicall.dll errors ("Procedure not found" errors (freely translated from the dutch error message)
But the strangest part is, that this error ONLY happens when I first create the oracle 11 connection followed by the oracle 734 connection.
When I first create oracle 734 connection followed by oracle 11 connection --> there is no error ???
Each connection has a specific connectionstring, pointing to the correcte oracle home. But it seems that when I first open the oracle 11 connection, and then the oracle 734 some DLL's errors happens.
Why is this specific sequence gives only in one scenario an error ?
*** Edited ***
I have just tested it also on a Windows server 2008 R2 , and got the following error
The procedure entry point orasql10.sqlxss could not be located in the dynamic link library orasql8.dll.
Maybe this gives us some more info which procedure calls are failing, and trying to execute towards oracle 734 DB....
*** End Edited ***
*** Edited 2 ***
I have the same error messages when I'm using OraDeveloper tools from VS.NET 2010.
When I use the database explorer and first open an oracle 11 connection, and then try an oracle 734 connection. It throws the OCI errors
But restarting vs.NET 2010 and first oracle 734 connection with oracle8 client followed by the oracle 11 connection, does work
This was all working fine with the oracle 10 client, and now not anymore with installing oracle 11
*** End Edited ***
In our apps it is not always so easy to force that specific sequence of opening connections. (like service apps, websites, ...)
So, hopefully you can reproduce this very specific situation !
Thx,
Fred
PS: As a backup plan we could stick to the oracle 10 client, but then I will have some other issues maybe on Windows 7 32/64 bit /Windows 2008 R2 64 bit....
On those new OS's I would like to use the oracle 11 client --> so we only have 2 clients in our infrastructure (oracle 8 and oracle 11 client, and not 3 client versions....)
I have just logged a specific support-request with title "OCI.DLL Error: Using oracle 11 client + Oracle 8 client" (+ uploaded full test project) about OCICALL.DLL when using Oracle 8 client + Oracle 11 client in 1 application.
I will post in short some info about the error. Maybe some other forum people can give also some feedback.
We have an oracle 734 DB and Oracle 10.2 DB.
On the clients we have oracle 8 client installed as the default home, and oracle 10 client installed.
Our applications uses dotconnect 6.10.96.0 and uses 2 connections objects, one for oracle 734 using oracle8 client, and one for oracle 10 using oracle 10 client.
So far so good. This is working perfect (already for some years)
Currently we have setup a new Oracle 11.2 DB which would replace the full oracle 10.2 DB. The old oracle 734 is still needed.
So my plan was to have on the clients the oracle 8 client (for access to oracle734) and the new oracle 11.2 client for connecting to oracle 11.2
So no oracle 10 client anymore on the client.
But when I now test an application which has both a connection towards oracle 734 and oracle 11.2 --> I encounter ocicall.dll errors ("Procedure not found" errors (freely translated from the dutch error message)
But the strangest part is, that this error ONLY happens when I first create the oracle 11 connection followed by the oracle 734 connection.
When I first create oracle 734 connection followed by oracle 11 connection --> there is no error ???
Each connection has a specific connectionstring, pointing to the correcte oracle home. But it seems that when I first open the oracle 11 connection, and then the oracle 734 some DLL's errors happens.
Why is this specific sequence gives only in one scenario an error ?
*** Edited ***
I have just tested it also on a Windows server 2008 R2 , and got the following error
The procedure entry point orasql10.sqlxss could not be located in the dynamic link library orasql8.dll.
Maybe this gives us some more info which procedure calls are failing, and trying to execute towards oracle 734 DB....
*** End Edited ***
*** Edited 2 ***
I have the same error messages when I'm using OraDeveloper tools from VS.NET 2010.
When I use the database explorer and first open an oracle 11 connection, and then try an oracle 734 connection. It throws the OCI errors
But restarting vs.NET 2010 and first oracle 734 connection with oracle8 client followed by the oracle 11 connection, does work
This was all working fine with the oracle 10 client, and now not anymore with installing oracle 11
*** End Edited ***
In our apps it is not always so easy to force that specific sequence of opening connections. (like service apps, websites, ...)
So, hopefully you can reproduce this very specific situation !
Thx,
Fred
PS: As a backup plan we could stick to the oracle 10 client, but then I will have some other issues maybe on Windows 7 32/64 bit /Windows 2008 R2 64 bit....
On those new OS's I would like to use the oracle 11 client --> so we only have 2 clients in our infrastructure (oracle 8 and oracle 11 client, and not 3 client versions....)