This discussion is archived
8 Replies Latest reply: Aug 25, 2009 7:03 AM by 406327 RSS

Microsoft ODBC for Oracle and Instant Client 10.2.0.3

624776 Newbie
Currently Being Moderated
Instant Client 10.2.0.3 does not work with Microsoft ODBC for Oracle Driver on Windows XP SP2. I receive an error from the ODBC driver stating "The Oracle(tm) client and networking components were not found. There components are supplied by Oracle Corporation and are part of the Oracle Version 7.3 (or greater) client software installation. You will be unable to use this driver until these components have been installed.". I followed the Installation Steps provided in the Instant Client Download page and copied mfc71.dll and msvcr71.dll in the Oracle Instant client directory. Instant Client 10.1.0.5 is perfectly working. I have not tested it with ODBC Driver provided from Oracle. Any suggestion would be appreciated.

Thank you.
  • 1. Re: Microsoft ODBC for Oracle and Instant Client 10.2.0.3
    624776 Newbie
    Currently Being Moderated
    I found that some of Instant Client files have missing dependencies as follows:

    ORACORE10.DLL
    ORAN10.dll
    ORACORE10.DLL
    ORANL10.DLL
    ORANLS10.DLL
    ORAGENERIC10.DLL
    ORAUTS.DLL

    How can I get the dependencies?
  • 2. Re: Microsoft ODBC for Oracle and Instant Client 10.2.0.3
    423410 Explorer
    Currently Being Moderated
    Which Instant Client libraries have the dependency as mentioned by you
    Its better if you could do a dumpbin/dependents on the dlls under the instant client installation and post the output
  • 3. Re: Microsoft ODBC for Oracle and Instant Client 10.2.0.3
    LaurenzAlbe Journeyer
    Currently Being Moderated
    This is interesting for me (and my company), because we ran into exactly that same problem recently.

    Your solution might work, but it is kind of flawed: You basically copy a bunch of files from the "normal" Oracle Client, so your program will actually use that, but operate with the Instant Client shared library and e.g. pull messages from it.

    I mean, if it works for you, fine.
    But it's probably not supported, so if that's important for you, ask Oracle.

    I tried to research the problem when we encountered it, and I'll share my findings - maybe they interest you:

    - The DLLs you mentioned are not dependencies of Oracle Instant Client.
    - A filemon trace revealed that it is the Microsoft ODBC driver that searches and loads these DLLs and complains if it cannot find them.

    My suspicion is that this behaviour of Microsoft's ODBC driver is wrong - it should only try to load oci.dll and let Oracle do the rest itself.

    I wondered if it would be a good idea to ask Microsoft to look into this, but a service request like this is quite expensive and we decided not to do it.

    Moreover, I know pretty little about Microsoft software, so maybe you could enlighten me about the following:

    - Does Microsoft ODBC driver claim to work with Oracle Instant Client?
    - Does Microsoft still support the ODBC driver and develop or fix it, e.g. to accomodate new versions and products of Oracle?

    It seemed useless to ask Oracle for support, because they will not be able to help - they cannot influence which DLLs the Microsoft driver attempts to load...

    We decided to use the "regular" Oracle Client if we have to work with Microsoft ODBC, because we cannot affort to lose Oracle support.

    Yours,
    Laurenz Albe
  • 4. Re: Microsoft ODBC for Oracle and Instant Client 10.2.0.3
    624776 Newbie
    Currently Being Moderated
    Today, I found the following description in the OCI Instant Client section of the Oracle Call Interface Programmer's Guid (http://download.oracle.com/docs/cd/B12037_01/appdev.101/b10779/oci01int.htm#423364):

    "To use the Microsoft ODBC and OLEDB driver, ociw32.dll must also be copied from ORACLE_HOME\bin"

    ociw32.dll is included in the Instant Client Basic package, but its dependencies below are not included:

    ORACORE10.DLL
    ORANLS10.DLL
    ORAUNLS10.DLL
    ORAUTS.DLL

    Once I copied these files from the standard Oracle client, Microsoft ODBC for Oralce started to work with Instant Client like a charm. It sounds like to me that is an issue Oralce needs to address instead of Microsoft. I hope that these dependencies will be included in a future release of Oracle Instant Client.

    As a side note, Microsoft does not seem to add the new functionality that Oracle implements to legacy Microsoft ODBC for Oralce and OLEDB drivers. Please refer to the Microsoft's KB article: http://support.microsoft.com/kb/244661 for more information.

    Regards.

    Message was edited by:
    user621773
  • 5. Re: Microsoft ODBC for Oracle and Instant Client 10.2.0.3
    LaurenzAlbe Journeyer
    Currently Being Moderated
    Thank you, that was highly enlightening!

    It seems that Oracle recommends to do exactly what you did.

    Thanks also for the Microsoft link:
    "No new updates are planned for future releases of these components including their support against versions later than Oracle 8i."

    Yours,
    Laurenz Albe
  • 6. Re: Microsoft ODBC for Oracle and Instant Client 10.2.0.3
    392234 Newbie
    Currently Being Moderated
    hi user621773,

    i'm having this same problem now, could you give me the complete details on how did you resolve this problem.

    thanks in advance.

    mervin
  • 7. Re: Microsoft ODBC for Oracle and Instant Client 10.2.0.3
    423410 Explorer
    Currently Being Moderated
    Once I copied these files from the standard Oracle client, Microsoft ODBC for Oralce started to work with Instant Client like a charm. It sounds like to me that is an issue Oralce needs to address instead of Microsoft. I hope that these dependencies will be included in a future release of Oracle Instant Client.

    Instant Client by design is not made to ship so many of these DLL's
    Thats why applications needing to run with Instant Client should link it with OCI.DLL only

    As you say, microsoft is not planning to support anything later to version 8i and Instant Client came out in 10g, hence the workarounds you mentioned

    If Microsoft enhances its driver to load OCI.DLL only instead of all others you don't need these workarounds, there is nothing from Oracle to fix, Oracle just provided workarounds to help people use the Microsoft ODBC driver

    If you use Oracle ODBC Drivers you would'nt need these workarounds as Oracle has taken care of it
  • 8. Re: Microsoft ODBC for Oracle and Instant Client 10.2.0.3
    406327 Newbie
    Currently Being Moderated
    We have a Windows Server computer using several ASP and ASP.Net applications. We were not able to use the Microsoft ODBC driver for Oracle using the Instant Cient 10.2.0.3. We had to install the Oracle client 9.2 to use the Microsoft ODBC driver.

    If you have different applications, one using Instant Client 10.x and other using Oracle Client 9.2, you must set the PATH environment variable pointing to the Oracle Client 9.2
    - The ODBC search the DLL files using the PATH environment variable
    - If you have different Oracle clients in your machine, you must set the Oracle Client 9.2 first in the PATH.

    In the web applications, we had to set different application pools in the IIS. One for the applications using the ODBC and Oracle Client 9.2, and other application pool for the applications using the Instant Client 10.x.
    - In the .Net applications, you can define the Instant Client DLL path in the web.config or machine.config file
    - If you are using connection strings with the TNSNAMES.ORA, you must set the ORACLE_HOME environment variable