OLE DB Provider for Oracle

Initialization and Authorization Properties

The Microsoft OLE DB Provider for Oracle interprets OLE DB initialization and authorization properties briefly described in the following table. Only the supported properties are listed. For those not supported, an error is returned. For the full description of each property, see Appendix C: OLE DB Properties, of the OLE DB Programmer's Reference.

Property ID Short Description
DBPROP_AUTH_PASSWORD The password assigned to an Oracle user.
DBPROP_AUTH_USERID An Oracle user name.
DBPROP_INIT_DATASOURCE An existing Oracle server.
DBPROP_INIT_HWND A window handle from the calling application. A valid window handle is required for the initialization dialog box displayed when prompting for initialization properties is allowed.
DBPROP_INIT_LCID This provider validates the locale ID and returns an error if the locale ID is not supported or is not installed on the client machine.
DBPROP_INIT_PROMPT This provider supports all prompting modes for data source initialization. It uses DBPROMPT_NOPROMPT as its default setting for the property.

Note   Oracle databases successfully authenticate users that are logged on through SQLPlus with SQL*Net Authentication services. However, when the logged on user is a service itself, such as Internet Information Server, the authentication fails. This is a known limitation of SQL*Net Authentication. Adding the following line to the Sqlnet.ora file will correct the problem:

SQLNET.AUTHENTICATION_SERVICES = (none)

Sessions

A provider session represents a single connection to an Oracle server.

OLE DB requires that sessions delimit transaction space for a data source object. All command objects created from a specific session object will participate in the local or distributed transaction of the session object.

The first session object created on the initialized data source object receives the Oracle connection established at initialization. When all references on the interfaces of the session object are released, the Oracle connection becomes available to another session object created on the data source object.

An additional session object created on the data source object establishes its own connection to the OLE DB Provider for Oracle as specified by the data source object. The Oracle connection is dropped when the application releases all references to objects created during that session.

Creating new provider session objects can generate significant application overhead for applications that continually create and release session objects. The overhead can be minimized by managing the provider session objects efficiently. You can keep the Oracle connection of a session object active by maintaining a reference on at least one interface of the session object.

To provide advanced schema information about the kind of data in a data store, you can use the IDBSchemaRowset interface. When using the GetRowset method on this interface, a case-sensitive selection is performed only if a quoted value is passed in.