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)
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.