|
|
 |
Oracle Objects for OLE in Oracle9i
Features Overview
September 2001
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 include the following major features:
- 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
- Easy to use interface for describing schema objects
- Full support for accessing Advanced Queuing
capabilities
- Temporary LOBs support when calling stored
procedures or functions that have LOB arguments
- 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:
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.
OO4O will use this API to provide the capability for
enlisting user sessions contained in the OraDatabase Automation interface with
DTC. All transactions on these user sessions are controlled by DTC after
enlistment is completed. After an OraDatabase is enlisted with DTC, all local
transactional operations for that object are disallowed.
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.
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.
New Features in Oracle9i
XML Support
XML is quickly becoming one of the common data formats for Internet applications. In Oracle9i, OO4O introduces XML support, allowing users to easily extract and insert data from the Oracle database in XML format. OO4O users can now flexibly render XML from a dynaset object. The XML support includes the ability to use advanced data types and to control the XML output format.
Full Unicode Support
As 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 and the Oracle9i database add this globalization support with 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.
Enhanced Oracle Services for MTS
Many OO4O users employ MTS/COM+ for their transaction and object
management. The Oracle Services for MTS acts as a proxy between the Oracle
database and MTS/COM+ to perform these management tasks. The Oracle
Services for MTS has been re-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 can be adopted transparently without having to make any application code changes.
Database Events
OO4O in Oracle9i 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.
This feature supports asynchronous notification of database events to interested
subscribers. Under this model, the client can subscribe to one or more database
events. Each database event that the client is interested in is stored as a
subscription. When a database event of interest is triggered, the client subscriber's database event handler for that event is fired and the subscriber is notified. The database event subscriber is required to create a subscription, based on the database event of interest. At the time of subscription creation, the subscriber should provide an event handler. The database event handler should be an automation object that implements the NotifyDBEvents method. OO4O invokes the NotifyDBEvents method of the event handler when the particular database event is fired.

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 2001
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, Oracle9i, 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.
|
| |