|
|
 |
Oracle Objects for OLE in Oracle Database 10g
Features Overview
March
2004
Product Summary
Oracle Objects for OLE (OO4O) is a COM-based database
connectivity tool that combines seamless and optimized access to
Oracle databases with easy to use interfaces. OO4O can be used in a
variety of environments ranging from web applications to n-tier
client/server applications. It can be used from virtually any
programming or scripting language that supports the Microsoft COM
Automation technology, such as Visual Basic, Active Server Pages,
Visual C++, VBA in Excel, PowerBuilder, Delphi, Microsoft Internet
Information Server, and COM+/Microsoft Transaction Server.
Because it is an Oracle native driver, OO4O provides fast
performance on Windows clients to Oracle databases. It does not
incur the overhead of ODBC and OLE DB drivers. OO4O has been
developed and has evolved specifically for use with Oracle database
servers. It provides easy access to features that are unique to
Oracle, but are otherwise cumbersome or inaccessible to use from
ODBC and OLE DB-based components, such as ADO.
Components
OO4O consists of an in-process COM Automation Server, a C++ class
library, and the Oracle Data Control.
- In-Process COM Automation Server:
a set of COM Automation
interfaces/objects for connecting to Oracle database servers,
executing queries and managing the results.
- C++ Class Library:
a set of COM Automation
interfaces/objects for connecting to Oracle database servers,
executing queries and managing the results.
- Oracle Data Control:
an ActiveX Control that greatly
simplifies the exchange of data between query results and popular
data-aware visual controls, such as edit, list and grid controls.
The Oracle Data Control supports virtually data-aware controls
that can be bound to the Microsoft Data Control in Visual
Basic.
Features
OO4O includes the following major features:
- Oracle 10g Grid enabled, allowing developers to take full advantage of
grid support without changes being required to existing code
- Full support for PL/SQL, including seamless access to PL/SQL
Cursors
- Tunable client-side, scrollable and updateable cursors for
easy and efficient access to result sets of any size
- Support for array fetches, updates, and inserts resulting in
reduced network roundtrips
- Connection pooling to allow development of scalable mid-tier
application components, such as IIS Active Server Pages that
heavily use and serve dynamic content stored in Oracle database
servers
- Thread safety allowing safe access to automation objects in
multithreaded environments
- Small disk and memory footprint
- Efficient management of database connections and user sessions
(connection pooling and multiplexing)
- Full support for COM+/Microsoft Transaction Server (MTS)
coordinated transactions
- Seamless access to instances of advanced Oracle data types:
- Object References (REFs)
- Object Instances (Objects)
- Nested Tables
- VARRAYs
- BLOBs, CLOBs, NCLOBs and BFILEs
- Support for new BINARY_FLOAT, BINARY_DOUBLE, TIMESTAMP and
INTERVAL datatypes
- Easy to use interface for describing schema objects
- Full support for accessing Advanced Queuing capabilities
- Support for publishing, detecting, and subscribing to database events
- Temporary LOB support for calling stored procedures or
functions that have LOB arguments
- XML generation
- Full UCS2 Unicode Support
- Asynchronous processing of PL/SQL and SQL
- Application failover notification
- Detection of Lost Connections
- The Oracle Code Wizard for Stored Procedures, which
automatically generates OO4O code that executes PL/SQL or Java
stored procedures
Below are descriptions of some of the major
features:
Transparent Oracle 10g Grid Support
OO4O is grid enabled.
To take full advantage of the power of Oracle 10g
grid technology, no OO4O code changes are required! OO4O automatically
recognizes when it is connected to a database grid and provides full
support for Oracle grid features.
Support for Advanced Oracle Data Types
OO4O provides full support for accessing and manipulating
instances of REFs, value instance, Variable-length arrays (VARRAYs),
Nested tables, and LOBs.
Instances of these types can be fetched from the database or
passed as input or output variables to SQL statements and PL/SQL
blocks, including stored procedures and functions. All instances are
mapped to COM Automation Interfaces that provide methods for dynamic
attribute access and manipulation.
Support for COM+/Microsoft Transaction
Server
COM+/MTS is essentially a COM-based TP-Monitor and relies on the
Microsoft Distributed Transaction Coordinator (DTC) for distributed
transaction support. Oracle database transactions initiated in OO4O
automatically participate in global transactions coordinated by the
MS DTC in MTS, provided that Oracle Services for MTS is installed and running.
Database connections established in components deployed in MTS can
also be pooled via the Oracle Services for MTS.
The Oracle Services for MTS has been architected to
improve the availability and scalability of OO4O applications using
this application stack. The new architecture removes the single point
of failure and bottlenecks that were present in previous versions.
This redesign is transparent without any application code changes
being required.
Advanced Queuing Interface
OO4O provides interfaces for accessing the Advanced Queuing (AQ)
feature in the Oracle database. It makes AQ accessible from popular
COM-based development environments, such as Visual Basic.
The OraAQ Automation interface provides methods for enqueuing and
dequeuing messages (OraAQMsg). It also provides a method for
monitoring queues for message arrivals. Client applications are
notified when messages of interest are dequeued via a callback
object.
Database EventsOO4O
includes support for publishing, detecting, and subscribing to
database events. By allowing OO4O to publish and subscribe to
events, Windows clients can interact closely with the Oracle
database. This functionality allows server-side events to initiate
client and middle-tier actions, and vice-versa.
Application Failover Notification
OO4O supports Application Failover Notifications. Application Failover
Notifications can be used in the event of the failure of one database
instance and failover to another instance. Because of the delay which
can occur during failover, the application developer may want to inform
the user that failover is in progress, and request that the user stand
by. To receive Failover notifications, a notification handler must be
registered with the MonitorForFailover method of the OraDatabase object.
Connection Multiplexing
OO4O allows multiple user sessions to share a network connection
to an Oracle Server. This capability is particularly useful for
application components that use OO4O in n-tier distributed
environments, such as a web environment.
Describing Schema Objects
OO4O includes interfaces for retrieving attributes of schema
objects. Using the Describe method of the OraDatabase interface
retrieves attributes. This method takes the name of a schema object
(e.g. emp) and returns a COM Automation object (OraMetaData).
OraMetaData provides methods for dynamically navigating and
accessing all the attributes (OraMDAttribute collection) of a schema
object described.
XML Support
XML is the most commonly used markup language for data used by
Internet applications. OO4O allows users to easily extract data
from the Oracle database in XML. The XML support also
includes the ability to render XML for Oracle advanced data types
and to control the XML output format.
Asynchronous Processing of SQL and PL/SQL
OO4O enables the developer to execute SQL or PL/SQL commands using
asynchronous processing. This means that control is returned to the
application immediately even if the execution is not complete. This enables
additional work to performed while waiting for the results of a query or
stored procedure call to return.
Full Unicode SupportAs more business
applications become Internet-centric and globally accessible, the
need to simplify application development in multiple written
languages arises. Unicode is the universal character set standard
that encodes all characters from languages worldwide. It provides
the basis for global computing by allowing applications to be
written once, then deployed in any and all languages.
OO4O offers full UCS2 Unicode support. Using Unicode in OO4O is
transparent, requiring no application code changes. This makes
developing global applications with OO4O easy and fast.
Support for New Oracle 10g Datatypes
OO4O includes significant new support for Oracle's newest data types.
BINARY_DOUBLE and BINARY_FLOAT data types represent single-precision
and double-precision floating-point values that mostly conform to
the IEEE754 standard for Floating Point Arithmetic.
These new types enable faster arithmetic calculations and reduce storage
requirements. They also enable you to implement published algorithms that specify IEEE behavior for arithmetic operations. Intense number
crunching computations (whose scale and precision requests can be accommodated by the IEEE types) will run very substantially faster using these types than
using NUMBER. Additionally, this feature enables cleaner integration with XML and Java environments because it provides similar numeric datatypes for
those environments.
OO4O now provides support for the TIMESTAMP and INTERVAL datatypes.
These are available through the new OraIntervalDS, OraIntervalYM, OraTimeStamp,
and OraTimeStampTZ OO4O objects. These represent improvements over the DATE data type with greater information included and a higher precision. The TIMESTAMP data types can provide time zone information and have precision up to the nanosecond. The two Oracle INTERVAL types provide year to month and day to nanosecond information when comparing timestamps.
Support for Multiple Oracle Homes
OO4O can be installed in a Multiple Oracle Home environment beginning with Oracle Database 10g. However, because OO4O is a COM component, only one instance can be active at a time. This means that a later OO4O installation will render the previous one inactive. A client can toggle between installed OO4O client releases by using the Oracle Installer.

Oracle Corporation World Headquarters 500 Oracle
Parkway Redwood Shores, CA 94065 U.S.A.
Worldwide Inquiries: +1.650.506.7000 Fax
+1.650.506.7200 http://www.oracle.com/
Copyright © Oracle Corporation
2004 All Rights Reserved
This document is provided for informational purposes only, and
the information herein is subject to change without notice. Please
report any errors herein to Oracle Corporation. Oracle Corporation
does not provide any warranties covering and specifically disclaims
any liability in connection with this document.
Oracle, Oracle 10g , and PL/SQL are a trademarks of Oracle
Corporation.
All other company and product names mentioned are used for
identification purposes only and may be trademarks of their
respective owners.
|
|
|
|