Skip Headers

Oracle® Objects for OLE Developer's Guide
10g Release 1 (10.1)

Part Number A95895-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Master Index
Master Index
Go to Feedback page
Feedback

Initializing Oracle LOBs, Objects, and Collections

OO4O provides COM Automation interfaces for working with LOBs, Oracle objects, and collection types. These interfaces provide methods and properties to access data associated with LOBs, Oracle objects, and collection instances. The following tables explains LOBS, Oracle objects, and collection types and its associated OO4O interface.

Oracle LOBs, Objects, and Collections

Type
OO4O Interface
Object
OraObject
REF
OraRef
VARRAY and Nested Table
OraCollection
BLOB
OraBLOB
CLOB
OraCLOB
BFILE
OraBFile

How the preceding interfaces are retrieved in OO4O depends on how they are stored in the database or accessed in a SQL statement. The following are the possible scenarios:

· Column of a table

If table containing LOBs, object types, and collections as columns and the dynaset's select statement is based on this table, then Value property of OraField object represents that column returns corresponding OO4O interfaces for that type.

· Bind variable in a SQL statement or PL/SQL block

If SQL statement or PL/SQL block having LOBs, object types, and collections as bind variable, then OraParameter object should be created with corresponding serve type using Add method. The Value property of OraParameter object represents that bind variable returns corresponding OO4O interfaces for that type.

· Attribute of an Oracle object instance

If an Oracle object instance having LOBs, object types, and collections as its attribute, then corresponding OO4O interface for that attribute is retrieved by using subscript or name of the attribute from OraObject or OraRef or Value property of OraAttribute object.

· Element of VArray and Nested Table

If an Oracle VArray and Nested table having object types, and REF as its elements, then the corresponding OO4O interface is retrieved using the element index as the subscript from the OraCollection object.

When OO4O interfaces for the preceding types are retrieved as part of a dynaset, then the preceding OO4O interfaces represents instances of LOBs, objects, and collection types for the dynaset's current row. If the dynaset current row changes due to move operation, then OO4O interfaces will represent instances of LOBs, objects, and collection types for the new current row. When OO4O interfaces for the preceding types are retrieved as part of a OraParameter and OraParameter value changes to due to OraSQLStmt's Refresh method, then OO4O interface represents a new instance LOBs, object, and collection type for that OraParameter.

Internally OO4O maintains one OO4O interface for each OraField, OraParameter, and OraAttribute object. In order to retain the instance of LOBs, objects, and collection types independent of dynaset move operation, OraSQLStmt's Refresh operation, use the Clone method on the corresponding OO4O interface. This method makes the copy of LOBs, objects, and collection types instance and returns a corresponding OO4O interface associated with that copy.