These topics describe OLE DB information that is specific to Oracle Provider for OLE DB. For generic OLE DB information that includes a detailed listing of all OLE DB properties and interfaces, see the Microsoft OLE DB Programmer's Reference Guide.
This section lists the data type mapping between Oracle data types and OLE DB-defined types. Oracle Provider for OLE DB represents Oracle data types by using certain OLE DB-defined data types in the rowset as well as in parameters. OLE DB-defined types are also mapped to an Oracle data type when creating tables.
Each Oracle data type is mapped to a specific OLE DB data type, as shown in the following table. This correspondence is used when data type information is retrieved from an Oracle Database.
Table A-1 Data Type Mappings
Oracle Data Type | OLE DB Data Type - Regular (NonUnicode) Mode | OLE DB Data Type - Unicode Mode |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This section lists the properties supported by Oracle Provider for OLE DB. The read/write status and initial values are noted.
Table A-2 lists data source properties.
Table A-2 DBPROPSET_DATASOURCE Properties
Property | Status | Initial Value |
---|---|---|
|
READ-ONLY |
|
Table A-3 lists DataSourceInfo
properties.
Table A-3 DBPROPSET_DATASOURCEINFO Properties
Property | Status | Initial Value |
---|---|---|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
"Database link" |
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
" ", set at run time |
|
READ-ONLY |
|
|
READ-ONLY |
" ", set at run time |
|
READ-ONLY |
set at run time |
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
0, no limit |
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
"PL/SQL Stored Procedure" |
|
READ-ONLY |
"Oracle Provider for OLE DB" |
|
READ-ONLY |
|
|
READ-ONLY |
"02.01" |
|
READ-ONLY |
set to current OraOLEDB version |
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
"Owner" |
|
READ-ONLY |
|
|
READ-ONLY |
" ", set at run time |
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
"Table" |
|
READ-ONLY |
" ", set at run time |
Table A-4 lists initialization and authorization properties.
Table A-4 DBPROPSET_DBINIT Properties
Property | Status | Initial Value |
---|---|---|
|
READ-ONLY |
|
|
READ/WRITE |
User ID |
|
READ/WRITE |
Connect string |
|
READ/WRITE |
Window handle for prompt |
|
READ/WRITE |
LCID of system |
|
READ/WRITE |
|
|
READ/WRITE |
|
Table A-5 lists session properties.
Table A-5 DBPROPSET_SESSION Properties
Property | Status | Initial Value |
---|---|---|
|
READ-ONLY |
|
Table A-6 lists rowset properties.
Table A-6 DBPROPSET_ROWSET Properties
Property | Status | Initial Value |
---|---|---|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
|
READ-ONLY |
|
|
READ/WRITE |
|
|
READ/WRITE |
|
Oracle Provider for OLE DB sets other necessary properties if a particular property is set to VARIANT_TRUE
.
If DBPROP_IROWSETLOCATE
is set to VARIANT_TRUE
, then the following properties are also set to VARIANT_TRUE
:
DBPROP_IROWSETIDENTITY
DBPROP_CANHOLDROWS
DBPROP_BOOKMARKS
DBPROP_CANFETCHBACKWARDS
DBPROP_CANSCROLLBACKWARDS
If DBPROP_IROWSETSCROLL
is set to VARIANT_TRUE
, then the following properties are also set to VARIANT_TRUE
:
DBPROP_IROWSETIDENTITY
DBPROP_IROWSETLOCATE
DBPROP_CANHOLDROWS
DBPROP_BOOKMARKS
DBPROP_CANFETCHBACKWARDS
DBPROP_CANSCROLLBACKWARDS
If DBPROP_IROWSETUPDATE
is set to VARIANT_TRUE
, then the DBPROP_IROWSETCHANGE property is also set to VARIANT_TRUE
.
CoType TDataSource { interface IDBCreateSession; interface IDBInitialize; interface IDBProperties; interface IPersist; interface IDBInfo; interface ISupportErrorInfo; }
CoType TSession { interface IGetDataSource; interface IOpenRowset; interface ISessionProperties; interface IDBCreateCommand; interface IDBSchemaRowset; interface ISupportErrorInfo; interface ITransactionJoin; interface ITransactionLocal; interface ITransaction; }
CoType TCommand { interface IAccessor; interface IColumnsInfo; interface ICommand; interface ICommandProperties; interface ICommandText; interface IConvertType; interface IColumnsRowset; interface ICommandPrepare; interface ICommandWithParameters; interface ISupportErrorInfo; }
CoType TRowset { interface IAccessor; interface IColumnsInfo; interface IConvertType; interface IRowset; interface IRowsetInfo; interface IColumnsRowset; interface IConnectionPointContainer; interface IRowsetChange; interface IRowsetFind; interface IRowsetIdentity; interface IRowsetLocate; interface IRowsetRefresh; interface IRowsetFastLoad; interface IRowsetScroll; interface IRowsetUpdate; interface ISupportErrorInfo; }
CoType TMultipleResults { interface IMultipleResults; interface ISupportErrorInfo; }
CoType TTransactionOptions { interface ITransactionOptions; interface ISupportErrorInfo; }
DBTYPE_BASECOLUMNNAME
, DBTYPE_BASETABLENAME
, and DBTYPE_BASESCHEMANAME
metadata columns are not populated for read-only recordsets. OraOLEDB creates a read-only recordset for server cursor for SQL queries with DISTINCT
or UNIQUE
keywords. OraOLEDB also creates a read-only recordset for server cursor for JOIN
queries.
The following metadata columns are supported by the column rowset of OraOLEDB:
DBCOLUMN_IDNAME
DBCOLUMN_PROPID
DBCOLUMN_NAME
DBCOLUMN_NUMBER
DBCOLUMN_TYPE
DBCOLUMN_TYPEINFO
DBCOLUMN_COLUMNSIZE
DBCOLUMN_PRECISION
DBCOLUMN_SCALE
DBCOLUMN_FLAGS
DBCOLUMN_BASECATALOGNAME
DBCOLUMN_BASECOLUMNNAME
DBCOLUMN_BASESCHEMANAME
DBCOLUMN_BASETABLENAME
DBCOLUMN_COMPUTEMODE
DBCOLUMN_ISAUTOINCREMENT
DBCOLUMN_ISCASESENSITIVE
DBCOLUMN_ISSEARCHABLE
DBCOLUMN_OCTETLENGTH
DBCOLUMN_KEYCOLUMN
OraOLEDB provides the ability to trace the interface calls for debugging purposes. This feature has been provided to assist Oracle Support Services in debugging customer issues.
The provider can be configured to record the following information:
For OLE DB Interface method entry and exit:
Parameter values supplied (entry)
Return value; HRESULT
(exit)
Thread ID (entry and exit)
For Distributed transaction enlistment and delistment:
Session object information
Transaction ID
Note:
To record global transaction enlistment and delistment information, the TraceLevel
value must be set to session object. See TraceOption
in Registry Setting for Tracing Calls.
In ODAC 12c Release 4, OraOLEDB now uses a new directory to write trace files to by default: <Windows user temporary folder>
\oledb\trace
.
The Windows user temporary folder is determined by your local Windows settings, such as your Windows TMP or TEMP environment variable. Typically, it can be C:\temp
or C:\Users\
<user name>
\AppData\Local\Temp
.
To change the trace file location, use the TraceFileLocation
attribute to set a new location. TraceFileLocation
will not be created by default in the Windows Registry. OraOLEDB will create an entry in the Windows event log where the trace was created anytime it creates a trace file.
To trace the interface calls, you must configure the following registry values for HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_
HOMENAME
\OLEDB\
:
TraceFileLocation
Valid Value: Any valid directory path
TraceFileLocation
specifies trace file destination directory. The default trace location is <Windows user temporary folder>
\oledb\trace
.
TraceCategory
Valid Values:
0
= None
1
= OLEDB Interface method entry
2
= OLEDB Interface method exit
4
= Distributed Transaction Enlistment and Delistment
TraceCategory
specifies the information that is to be traced. Combinations of different tracing categories can be made by adding the valid values. For example, set TraceCategory
to 3
to trace all OLE DB interface method entries and exits.
TraceLevel
Valid Values:
0
= None
1
= Data Source object
2
= Session object
4
= Command object
8
= Rowset object
16
= Error object
64
= Multiple Results Object
TraceLevel
specifies the OLE DB objects to be traced. Because tracing all the entry and exit calls for all the OLE DB objects can be excessive, TraceLevel
is provided to limit tracing to a single or multiple OLE DB objects. To obtain tracing on multiple objects, add the valid values. For example, if TraceLevel
is set to 12
and TraceCategory
is set to 3
, the trace file will only contain method entry and exit for Command and Rowset objects.
The TraceLevel
value must be set to session object (2) to trace global transaction enlistment and delistment information.
TraceOption
Valid Values:
0
= Single trace file
1
= Multiple trace files
TraceOption
specifies whether to log trace information in single or multiple files for each Thread ID. If multiple trace file is requested, a Thread ID is appended to the file name provided to create a trace file for each thread.