PRB: Application Msdtc.exe Cannot Load Any Oracle Client DLLs (232821)



The information in this article applies to:

  • Microsoft Transaction Server 1.0, when used with:
    • the operating system: Microsoft Windows NT
  • Microsoft Transaction Server 2.0, when used with:
    • the operating system: Microsoft Windows NT

This article was previously published under Q232821
The third-party products that are discussed in this article are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.

SYMPTOMS

Starting the MSDTC Service the following error appears, and the MSDTC Service fails to start:
Application MSDTC.EXE cannot load any Oracle client dll.

CAUSE

If the MSDTC service starts and finds the Ociw32.dll, then it assumes that Oracle is going to be used and searches for required Oracle support files. If it finds that the additional Oracle files are missing, it flags this error. This problem commonly occurs on workstations where Oracle software has been installed and removed, but not all the files were removed properly.

RESOLUTION

There are three possible solutions to this problem:
  • If the Oracle software is to be installed on the machine, then there was most likely a problem with the installation of that product. Try uninstalling Oracle and reinstalling Oracle. Ensure that you do restart the machine after installing Oracle software so that the PATH modifications that the Oracle installer makes take effect. Once completed, restart MSDTC.
  • If the Oracle software is not to be installed on the machine, then attempt to uninstall the Oracle software. You can do this using the Oracle installer program. If you have already uninstalled Oracle and the problem persists, try manually removing the ORANT directory to ensure that all Oracle files have been removed. Once completed, restart MSDTC.
  • If the Oracle software is not to be installed on the machine or the above two options do not solve the problem, you can manually work around the problem. The reason this solution works is that MSDTC is looking specifically for the Ociw32.dll file to determine if Oracle is installed on the machine. If MSDTC does not find this file, it bypasses preparing itself for Oracle. To force MSDTC to bypass this preparation, locate all instances of the Ociw32.dll file on your computer and rename the Ociw32.dll file to Ociw32.bak. Once completed, restart the MSDTC Service.

STATUS

This behavior is by design.


Modification Type:MajorLast Reviewed:10/20/2000
Keywords:kbprb KB232821