Trouble-shooting Control-ADO

Control-ADO under Windows Server

Oracle:

Microsoft does not support a 64 bit OLEDB provider for oracle. Use the "Oracle Provider for OLE-DB" instead "Microsoft OLE-DB Provider für Oracle" . For ADO access use „Provider=OraOLEDB.Oracle;Data Source=….“ instead of „Provider=msdaora;Data source=…“,.

Alternatively:

with ODBC instead of

Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword;

use DSN=mySourceName;UID=;PWD=; (here add a system DSN to the ODBC data source first).

In order to use the ADO interface on a Windows 64 bit machine, note in addition the following:

  1. Install the 64 bit client and configure the client (through Oracle Net, SQLPLUS, Oracle Odbc) also when the Oracle Server runs on the computer. An Installation is necessary (OK Test for the Odbc administrator is not sufficient!).

Figure 1. The 64 bit Client
The 64 bit Client
  1. Note that the Oracle Inventory directory may not be located on a path that contains ";" (Comma). Search for "Oracle\Inventory" in the registry and change the path. Change the path also in the file system.

  2. You have to execute the administration of the 64 bit client using c:\Windows\SysWOW64\odbcad64.exe. The ODBC administrator in the control panel only knows the 64 bit drivers.

  3. Error Messages

    This topic contains each error message, which may occur during ADO processes under Windows.

    Depending upon the development environment, and the mechanism used to trap error conditions, you may see return codes in one of two forms:

    • 0x80004005 (hex)

    • -2147467259 (long)

    They are the same value, just cast differently. In this case they are the error values, which may indicate that neither OLE DB nor its underlying provider was able to positively identify the source of the error.

    Frequently encountered return codes from OLE

    This list was compiled from the Winerror.h file, which ships with the Win32 SDK:

    Debugging return codes from OLE DB

    This list was compiled from the Oledberr.h file, which ships with the OLE-DB SDK: