Cannot Load The Ole 2.0 Or Doc File Libraries Mac

This chapter introduces Oracle Objects for OLE (OO4O).

Note:

Oracle Database 11g

Disconnect any external hard disk drives that you may have connected to your Mac. Then, try to apply the update. If you do not have an external hard disk drive, or if this step did not resolve the issue, go to method 2. Method 2: Exit all Applications. ├── AppImage │ └── AppImage-17-06-17-mac ├── AppImage-packages │ └── 10.03.17 ├── Squirrel.Windows │ └── Squirrel.Windows-1.6.0.0 ├── fpm │ └── fpm-1.8.1-20150715-2.2.2 ├── linux-tools │ └── linux-tools-mac-10.12 ├── nsis │ └── nsis-3.0.1.13 ├── nsis.

Release 2 (11.2) is the last database version that supports Oracle Objects for OLE. Oracle Database versions, which are released after Oracle Database 11g Release 2 (11.2), will not support Oracle Objects for OLE. You can continue to use Oracle Objects for OLE with existing Oracle Database versions that are covered under the lifetime support policy of Oracle.

This chapter contains these topics:

Overview of Oracle Objects for OLE

Oracle Objects for OLE (OO4O) allows you to access data stored in Oracle databases with any programming or scripting language that supports Microsoft COM Automation and ActiveX technology. This includes Visual Basic, Visual C++, Visual Basic for Applications (VBA), IIS Active Server Pages (VBScript and JavaScript), and others.

Figure 1-1 illustrates the software layers that comprise the OO4O product.

Figure 1-1 Software Layers of OO4O


Description of 'Figure 1-1 Software Layers of OO4O'

OO4O provides the following:

2.0

Oracle Objects for OLE In-Process Automation Server

The OO4O In-Process Automation Server is a set of COM Automation Objects for connecting to Oracle databases, executing SQL statements and PL/SQL blocks, and accessing the results.

Figure 1-2 illustrates the object model that comprise the OO4O product.

Figure 1-2 Automation Objects


Description of 'Figure 1-2 Automation Objects'

Unlike other COM-based database connectivity APIs, such as Microsoft ActiveX Data Objects (ADO), the OO4O Automation Server was created specifically for use with Oracle databases. It provides an optimized API for accessing features that are unique to the Oracle database and are otherwise cumbersome or unavailable from ODBC or OLE DB components.

OO4O provides key features for accessing Oracle databases efficiently and easily in environments ranging from the typical two-tier client/server applications, such as those developed in Visual Basic or Excel, to application servers deployed in multitiered application server environments such as Web server applications in Microsoft Internet Information Server (IIS) or Microsoft Transaction Server (MTS).

Features include:

  • Oracle 11g is grid enabled, allowing developers to take full advantage of grid support without changes being required to existing code.

  • Tunable client-side, scrollable and updatable cursors for easy and efficient access to result sets of queries.

  • PL/SQL support for execution of PL/SQL anonymous blocks and stored procedures. This includes support for the Oracle data types, such as PL/SQL cursors, that are needed for parameters of PL/SQL stored procedures.

  • Support for array fetches, updates, and inserts resulting in reduced network round-trips.

  • Connection pooling to allow development of scalable middle tier application components, such as IIS Active Server Pages, that use and serve dynamic content stored in Oracle databases.

  • Support for COM+ and Microsoft Transaction Server (MTS) co-ordinated transactions.

  • Seamless access to instances of advanced Oracle data types:

    • Object references (REFs)

    • Object instances (Objects)

    • Nested tables

    • VARRAYs

    • BLOBs, CLOBs, NCLOBs, and BFILEs

  • XML generation.

  • Full support for advanced queuing.

  • Support for publishing, detecting, and subscribing to database events.

  • Support for asynchronous processing of SQL statements and PL/SQL blocks.

  • Easy to use interface for describing schema objects.

  • The Oracle code wizard for stored procedures, which automatically generates OO4O code to execute PL/SQL or Java stored procedures.

  • Thread safety, allowing safe access to automation objects in multithreaded environments.

See Also:

Oracle Data Control

Oracle Data Control is an ActiveX control that is designed to simplify the exchange of data among an Oracle database and visual controls such as edit, text, list, and grid controls in Visual Basic and other development tools that support custom controls.

A data control enables you to perform most data access operations without writing any code. To create a dynaset with a data control, set the Connect, DatabaseName, and RecordSource properties, and execute the Refresh command.

A data control enables you to bind it to other controls that display a field, a record, or multiple records of the underlying dynaset. When record movement occurs, data in bound controls stay synchronized with the current record of the dynaset. If a user changes data in a control that is bound to a data control, the changes are automatically reflected in the underlying dynaset and database.

Cannot load the ole 2.0 or doc file libraries machines

The Oracle Data Control is compatible with the Microsoft data control included with Visual Basic. If you are familiar with the Visual Basic data control, learning to use Oracle Data Control is quick and easy. Communication between for detailed information.

See Also:

'Oracle Objects for OLE Redistributable Files' and 'Troubleshooting' for further information on Oracle Objects for OLE requirements

Oracle Objects for OLE File Locations

As part of the OO4O installation, the following directories are created and contain the corresponding files:

  • ORACLE_BASEORACLE_HOMEOO4O - SQL scripts and constants file

  • ORACLE_BASEORACLE_HOMEOO4OCPP - Libraries, include files, DLLs, and source for the class library

  • ORACLE_BASEORACLE_HOMEOO4OCPPMFC - Libraries, include files, and source for the MFC Bound Class Library

  • ORACLE_BASEORACLE_HOMEOO4OEXCELSAMPLES - Excel samples

  • ORACLE_BASEORACLE_HOMEOO4OVBSAMPLES - Visual Basic samples

  • ORACLE_BASEORACLE_HOMEOO4OVBSAMPLESQT - Visual Basic Quick Tour guide

  • ORACLE_BASEORACLE_HOMEOO4OIISSAMPLES - IIS samples

  • ORACLE_BASEORACLE_HOMEOO4Ocodewiz - OO4O Code Wizard samples

Component Certifications

Find the latest certification information at My Oracle Support (formerly OracleMetaLink):

You must register online before using My Oracle Support. After logging into My Oracle Support, select Product Lifecycle from the left column. From the Products Lifecycle page, click Certifications. Other Product Lifecycle options include Product Availability, Desupport Notices, and Alerts.

Oracle Objects for OLE Redistributable Files

This section discusses files that can be redistributed or updated on a computer that belongs to an end user or a developer.

If you cannot guarantee that your end users have the current release of Oracle Objects for OLE installed on their computers, you need to redistribute specific files that are part of Oracle Objects for OLE along with your OO4O application. A typical scenario might be if OO4O is installed as a patch without use of Oracle Universal Installer.

Redistributable File Locations

Table 1-1 lists the Redistributable file locations with comments and further actions that are needed.

Table 1-1 Redistributable File Locations

FilesPlace in DirectoryFurther ActionsComments

oipVER.dll

ORACLE_BASE ORACLE_HOMEbin

Execute the following from a command prompt:

drive:path>

regsvr32.exe oipVER.dll

None.

oipVER.tlb

ORACLE_BASE ORACLE_HOMEbin

None.

None.

oraansiVER.dll

ORACLE_BASE ORACLE_HOMEbin

None.

Change VER to the current version.

oo4oparm.reg

ORACLE_BASE ORACLE_HOMEoo4o

Edit for the correct ORACLE_HOME location and HOMEID on your computer. Execute the following from a command prompt: drive:path>

oo4oparm.reg

File provided to register OO4O configuration information.

oiplang.msb

ORACLE_BASE ORACLE_HOMEoo4omesg

None.

This message file is language-specific. oipus.msb is the English version, and oipja.msb is the Japanese version.

oraclm32.dll

(for Microsoft

VC++)

or

oradc.ocx

ORACLE_BASE ORACLE_HOMEbin

For oradc.ocx, execute:

regsvr32.exe oradc.ocxdrive:path>

Distribute the files that correspond to the development software used in your application.


Additionally, ensure that the system requirements described in 'Overview of Oracle Objects for OLE' are met.

You must also distribute the files from the following list that correspond to the development software you used to build your application:

  • oraclm32.dll (for Microsoft Visual C++)

  • oradc.ocx

Updating Files and Registrations

Word Cannot Load The Ole 2.0 Or Doc File Libraries Mac

The oo4oparm.reg file is provided to register OO4O configuration information. Review this file and edit it as necessary to reflect the correct ORACLE_HOME location and HOMEID on your computer. To register oipVER.dll and enter the OO4O configuration information for oo4oparm.reg in the registry, execute the following from a command prompt:

drive:path>regsvr32.exe oipVER.dll

drive:path>oo4oparm.reg

The message file oiplang.msb should also be provided and copied to the ORACLE_BASEORACLE_HOMEoo4omesg directory. The message file is specific to a language. For example, oipus.msb is the English version and oipja.msb is the Japanese version.

Note:

Oracle Data Control (oradc.ocx

Cannot Load The Ole 2.0 Or Doc File Libraries Machines

) must be registered to function. The OLE Control Extension (OCX) can be registered by executing the following at the command prompt:

drive:path>regsvr32.exe oradc.ocx

Cannot Load The Ole 2.0 Or Doc File Libraries Mac

To use ODPI-C in your own project, download its source from GitHub. A sample Makefile is provided ifyou wish to build ODPI-C as a shared library. Otherwise, add theODPI-C source code to your project. On Windows, Visual Studio 2008 orhigher is required. On macOS, Xcode 6 or higher is required. On Linux,GCC 4.4 or higher is required.

ODPI-C has been tested on Linux, Windows and macOS. Other platforms shouldalso work but have not been tested.

Projects using ODPI-C require Oracle Client libraries to beinstalled. The libraries provide the necessary network connectivityallowing applications to access an Oracle Database instance. They alsoprovide basic and advanced connection management and data features toODPI-C applications.

Cannot Load The Ole 2.0 Or Doc File Libraries Mac

The simplest Oracle Client is the free Oracle Instant Client.Only the “Basic” or “Basic Light” package is required. Oracle Clientlibraries are also available in any Oracle Database installation orfull Oracle Client installation.

ODPI-C dynamically loads available Oracle Client libraries atruntime. This allows code using ODPI-C to be built only once, and thenrun using any available Oracle Client 21, 19, 18, 12, or 11.2 libraries. IfOracle Client libraries are not found, the error “DPI-1047: Cannotlocate an Oracle Client library” is raised. If an Oracle Client library isfound but the version cannot be determined, the error “DPI-1072: the OracleClient library version is unsupported” is raised. For example, this could bebecause the Oracle Client library version is too old (prior to 10g) or entirelyunsupported (such as Oracle Client 19 on Windows 7).

If the member dpiContextCreateParams.oracleClientLibDir is specifiedwhen calling dpiContext_createWithParams(), then only that directory issearched for the Oracle Client libraries.

If no directory is specified, then the Oracle Client libraries are looked for inthe same directory that the ODPI-C library (or application binary) is locatedin. If they are not found, then they are searched for in the standard operatingsystem search path, for example PATH on Windows or LD_LIBRARY_PATH onLinux. See standard Windows library search orderor standard Linux library search order. Finally, on platformsother than Windows, $ORACLE_HOME/lib is also searched.

Note

  • When using Instant Client on Linux and related operating systems, thenthat directory must always be in the system library search path.

  • When using the library directory from a full client or databaseinstallation, then you additionally need to set the applicationenvironment to use this software, for example by setting theORACLE_HOME environment variable. This should be done prior to ODPI-Cinitialization.

Make sure the application has directory and file access permissions for theOracle Client libraries. On Linux ensure libclntsh.so exists. On macOSensure libclntsh.dylib exists. ODPI-C will not directly loadlibclntsh.*.XX.1 files indpiContextCreateParams.oracleClientLibDir or from the directory wherethe ODPI-C library (or application binary) is. Note other files used bylibclntsh* are also required.

To trace the loading of Oracle Client libraries, the environment variableDPI_DEBUG_LEVEL can be set to 64 before starting your application. SeeODPI-C Debugging.

The following sections explain how to ensure the Oracle Client isinstalled and configured correctly on the various platforms so thatODPI-C is able to find it.

Oracle’s standard client-server network interoperability allows connectionsbetween different versions of Oracle Client and Oracle Database. For certifiedconfigurations see Oracle Support’s Doc ID 207303.1. Insummary, Oracle Client 21 can connect to Oracle Database 12.1 or later. OracleClient 19, 18 and 12.2 can connect to Oracle Database 11.2 or greater. OracleClient 12.1 can connect to Oracle Database 10.2 or greater. Oracle Client 11.2can connect to Oracle Database 9.2 or greater. The technical restrictions oncreating connections may be more flexible. For example Oracle Client 12.2 cansuccessfully connect to Oracle Database 10.2.

Cannot Load Ole 2.0 Or Docfile Libraries Mac

Since a single ODPI-C binary can use multiple client versions andaccess multiple database versions, it is important your application istested in your intended release environments. NewerOracle clients support new features, such as the oraaccess.xml external configurationfile available with 12.1 or later clients, session pool improvements,call timeouts with 18 or later clients, and other enhancements.

The function dpiContext_getClientVersion() can be used to determinewhich Oracle Client version is in use and the functiondpiConn_getServerVersion() can be used to determine which OracleDatabase version a connection is accessing. These can then be used to adjustapplication behavior accordingly. Attempts to use some Oracle features that arenot supported by a particular client/server combination may result in runtimeerrors. These include:

Cannot Load The Ole 2.0 Or Doc File Libraries Machine

  • when attempting to access attributes that are not supported by thecurrent Oracle Client library you will get the error “ORA-24315: illegalattribute type”

  • when attempting to use implicit results with Oracle Client 11.2against Oracle Database 12c you will get the error “ORA-29481:Implicit results cannot be returned to client”

  • when attempting to get array DML row counts with Oracle Client11.2 you will get the error “DPI-1050: Oracle Client library must be atversion 12.1 or higher”