Oracle – 10.2g to 11.2g and Microsoft ODBC for Oracle issues

odbcoracleoracle10goracle11g

My team are trying to migrate from ORACLE 10g to 11g. These are our system specs:

Our current production server:

ORACLE 10.2g 
ORACLE Application Express(3.0)
Apache
Red Hat 64 bit

Our new server (not yet in production):

ORACLE 11.2g
ORACLE Application Express (4.1.1)
ORACLE HTTP Server 
Red Hat 64 bit

We have managed to setup 11g, install APEX 4.1 and apply the recent patchset.
The only bit that's delaying us with our migration is that our business users have access to Crystal Reports XI, MS Access/Excel 2003 whcih they use to connect to our database. A typical user has Window XP SP 3 (32bit) operating system. At the moment we are using Microsoft ODBC for Oracle driver (version 2.575.1132.00) to connect to our 10g Database and have not had any issues. However when we try connect to 11g we keep getting ORA-03113: end-of-file on communication channel errors. In ORACLE SQL Developer, we're able to connect to our 11g instance using the "basic" connection. I have also used the "TNS" entries and that works well.

I think the business users obtained the Microsoft ODBC for Oracle driver by installing ORACLE Discover 3.1.3.6 which is used for another Oracle DB. They also have Oracle Client 7.3.3 which I can see Oracle73 (2.00.03.01) mentioned in the ODBM Data Source Admin screen.

We have tried googling for a result and after various tests, we have come to the conclusion that it is an ODBC driver issue. As far as our understand it ORACLE SQL Developer uses a different JAVA based driver to connect so it does not use the Microsoft version.

Can someone confirm that our understanding is correct about there being a compatibility issues with Microsoft ODBC for Oracle driver (version 2.575.1132.00) and 11.2g?
If so, what could you recommend a compatible driver to use with Crystal and Access/excel to extract the data?

I think the business users obtained the Microsoft ODBC for Oracle driver by installing ORACLE Discover 3.1.3.6 which is used for another Oracle DB. They also have Oracle Client 7.3.3 which I can see Oracle73 (2.00.03.01) mentioned in the ODBM Data Source Admin screen.

Best Answer

The Microsoft ODBC Driver for Oracle is written using an ancient version of the OCI (Oracle Call Interface) API that was deprecated when Oracle 8 was released (which was more than a decade and 11 major releases ago). Microsoft chose to desupport this driver rather than port it to the new version of the OCI API. Oracle 7 clients can connect to Oracle 10.2 databases but Oracle does not support connections between Oracle 7 clients and Oracle 11.2 databases.

You'll need to upgrade the version of the Oracle client that is installed on the business user's machines and you'll want to use the latest version of the Oracle ODBC driver that is appropriate for that version of the Oracle client. Assuming that you install the 11.2 version of the Oracle client (the only reason not to upgrade all the way to the 11.2 client would be if the users still needed to connect to older databases that don't support connections from an 11.2 client), you'd want to use the most recent version of the 11.2.0.x Oracle ODBC driver. The Oracle client install should also have the option to install a version of the Oracle ODBC driver-- that should be sufficient as well.