Skip Headers
Oracle® Provider for OLE DB Developer's Guide
10g Release 2 (10.2)

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

Go to previous page
Previous
Go to next page
Next
View PDF

A Provider-Specific Information

This appendix describes 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 appendix contains these topics:

Data Type Mappings in Rowsets and Parameters

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 Table A-1. 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
BFILE DBTYPE_BYTES DBTYPE_BYTES
BINARY_FLOAT DBTYPE_R4 DBTYPE_R4
BINARY_DOUBLE DBTYPE_R8 DBTYPE_R8
BLOB DBTYPE_BYTES DBTYPE_BYTES
CHAR DBTYPE_STR DBTYPE_WSTR
CLOB DBTYPE_STR DBTYPE_WSTR
DATE DBTYPE_DBTIMESTAMP DBTYPE_DBTIMESTAMP
FLOAT DBTYPE_R8 DBTYPE_R8
INTERVAL DAY TO SECOND DBTYPE_STR DBTYPE_WSTR
INTERVAL YEAR TO MONTH DBTYPE_STR DBTYPE_WSTR
LONG DBTYPE_STR DBTYPE_WSTR
LONG RAW BTYPE_BYTES DBTYPE_BYTES
NCHAR DBTYPE_STR DBTYPE_WSTR
NCLOB DBTYPE_STR DBTYPE_WSTR
NUMBER DBTYPE_VARNUMERIC DBTYPE_VARNUMERIC
NUMBER(p,s) DBTYPE_NUMERIC DBTYPE_NUMERIC
NVARCHAR2 DBTYPE_STR DBTYPE_WSTR
RAW DBTYPE_BYTES DBTYPE_BYTES
ROWID DBTYPE_STR DBTYPE_STR
TIMESTAMP DBTYPE_DBTIMESTAMP DBTYPE_DBTIMESTAMP
TIMESTAMP WITH TIME ZONE DBTYPE_DBTIMESTAMP DBTYPE_DBTIMESTAMP
TIMESTAMP WITH LOCAL TIME ZONE DBTYPE_DBTIMESTAMP DBTYPE_DBTIMESTAMP
VARCHAR DBTYPE_STR DBTYPE_WSTR

Properties Supported

This section lists the properties supported by Oracle Provider for OLE DB. The read/write status and initial values are noted.

Data Source Properties

Table A-2 lists data source properties.

Table A-2 DBPROPSET_DATASOURCE Properties

Property Status Initial Value
DBPROP_CURRENTCATALOG READ-ONLY NULL

DataSourceInfo Properties

Table A-3 lists DataSourceInfo properties.

Table A-3 DBPROPSET_DATASOURCEINFO Properties

Property Status Initial Value
DBPROP_ACTIVESESSIONS READ-ONLY 0, Unlimited sessions
DBPROP_ASYNCTXNABORT READ-ONLY VARIANT_FALSE
DBPROP_ASYNCTXNCOMMIT READ-ONLY VARIANT_FALSE
DBPROP_BYREFACCESSORS READ-ONLY VARIANT_TRUE
DBPROP_CATALOGLOCATION READ-ONLY DBPROPVAL_CL_END
DBPROP_CATALOGTERM READ-ONLY "Database link"
DBPROP_CATALOGUSAGE READ-ONLY DBPROPVAL_CU_DML_STATEMENTS
DBPROP_COLUMNDEFINITION READ-ONLY DBPROPVAL_CD_NOTNULL
DBPROP_CONCATNULLBEHAVIOR READ-ONLY DBPROPVAL_CB_NON_NULL
DBPROP_CONNECTIONSTATUS READ-ONLY DBPROPVAL_CS_INITIALIZED
DBPROP_DATASOURCENAME READ-ONLY " ", set at run time
DBPROP_DATASOURCEREADONLY READ-ONLY VARIANT_FALSE
DBPROP_DBMSNAME READ-ONLY " ", set at run time
DBPROP_DBMSVER READ-ONLY set at run time
DBPROP_DSOTHREADMODEL READ/WRITE DBPROPVAL_RT_FREETHREAD
DBPROP_GROUPBY READ-ONLY DBPROPVAL_GB_CONTAINS_SELECT
DBPROP_HETEROGENEOUSTABLES READ-ONLY DBPROPVAL_HT_DIFFERENT_CATALOGS
DBPROP_IDENTIFIERCASE READ-ONLY DBPROPVAL_IC_UPPER
DBPROP_MAXINDEXSIZE READ-ONLY 0, limit unknown - depends on block size
DBPROP_MAXOPENCHAPTERS READ-ONLY 0, not supported
DBPROP_MAXORSINFILTER READ-ONLY 0, not supported
DBPROP_MAXROWSIZE READ-ONLY 0, no limit
DBPROP_MAXROWSIZEINCLUDESBLOB READ-ONLY VARIANT_FALSE
DBPROP_MAXSORTCOLUMNS READ-ONLY 0, not supported
DBPROP_MAXTABLESINSELECT READ-ONLY 0, no limit
DBPROP_MULTIPLEPARAMSETS READ-ONLY VARIANT_TRUE
DBPROP_MULTIPLERESULTS READ-ONLY DBPROP_MR_SUPPORTED | DBPROPVAL__MR_CONCURRENT
DBPROP_MULTIPLESTORAGEOBJECTS READ-ONLY VARIANT_FALSE
DBPROP_MULTITABLEUPDATE READ-ONLY VARIANT_FALSE
DBPROP_NULLCOLLATION READ-ONLY DBPROPVAL_NC_HIGH
DBPROP_OLEOBJECTS READ-ONLY DBPROPVAL_OO_BLOB
DBPROP_ORDERBYCOLUMNSINSELECT READ-ONLY VARIANT_FALSE
DBPROP_OUTPUTPARAMETERAVAILABILITY READ-ONLY DBPROPVAL_OA_ATEXECUTE
DBPROP_PERSISTENTIDTYPE READ-ONLY DBPROPVAL_PT_NAME
DBPROP_PREPAREABORTBEHAVIOR READ-ONLY DBPROPVAL_CB_PRESERVE
DBPROP_PREPARECOMMITBEHAVIOR READ-ONLY DBPROPVAL_CB_PRESERVE
DBPROP_PROCEDURETERM READ-ONLY "PL/SQL Stored Procedure"
DBPROP_PROVIDERFRIENDLYNAME READ-ONLY "Oracle Provider for OLE DB"
DBPROP_PROVIDERNAME READ-ONLY OraOLEDBver.dll
DBPROP_PROVIDEROLEDBVER READ-ONLY "02.01"
DBPROP_PROVIDERVER READ-ONLY set to current OraOLEDB version
DBPROP_QUOTEDIDENTIFIERCASE READ-ONLY DBPROPVAL_IC_SENSITIVE
DBPROP_ROWSETCONVERSIONSONCOMMAND READ-ONLY VARIANT_TRUE
DBPROP_SCHEMATERM READ-ONLY "Owner"
DBPROP_SCHEMAUSAGE READ-ONLY DBPROPVAL_SU_DML_STATEMENTS |DBPROPVAL_SU_TABLE_DEFINITION |DBPROPVAL_SU_INDEX_DEFINITION |DBPROPVAL_SU_PRIVILEGE_DEFINITION
DBPROP_SERVERNAME READ-ONLY " ", set at run time
DBPROP_SORTONINDEX READ-ONLY VARIANT_FALSE
DBPROP_SQLSUPPORT READ-ONLY DBPROPVAL_SQL_ODBC_MINIMUM |DBPROPVAL_SQL_ANSI92_ENTRY |DBPROPVAL_SQL_ESCAPECLAUSES
DBPROP_STRUCTUREDSTORAGE READ-ONLY DBPROPVAL_SS_ISEQUENTIAL_STREAM
DBPROP_SUBQUERIES READ-ONLY DBPROPVAL_SQ_CORRELATEDSUBQUERIES
DBPROP_SUPPORTEDTXNDDL READ-ONLY DBPROPVAL_TC_DDL_COMMIT
DBPROP_SUPPORTEDTXNISOLEVELS READ-ONLY DBPROPVAL_TI_CURSORSTABILITY |DBPROPVAL_TI_READCOMMITTED
DBPROP_SUPPORTEDTXNISORETAIN READ-ONLY DBPROPVAL_TR_DONTCARE
DBPROP_TABLETERM READ-ONLY "Table"
DBPROP_USERNAME READ-ONLY " ", set at run time

Initialization and Authorization Properties

Table A-4 lists initialization and authorization properties.

Table A-4 DBPROPSET_DBINIT Properties

Property Status Initial Value
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO READ-ONLY VARIANT_FALSE
DBPROP_AUTH_USERID READ/WRITE User ID
DBPROP_INIT_DATASOURCE READ/WRITE Connect string
DBPROP_INIT_HWND READ/WRITE Window handle for prompt
DBPROP_INIT_LCID READ/WRITE LCID of system
DBPROP_INIT_OLEDBSERVICES READ/WRITE DBPROPVAL_OS_ENABLEALL
DBPROP_INIT_PROMPT READ/WRITE DBPROMPT_NOPROMPT

Session Properties

Table A-5 lists session properties.

Table A-5 DBPROPSET_SESSION Properties

Property Status Initial Value
DBPROP_SESS_AUTOCOMMITISOLEVELS READ-ONLY DBPROPVAL_TI_CURSORSTABILITY |DBPROPVAL_TI_READCOMMITTED

Rowset Properties

Table A-6 lists rowset properties.

Table A-6 DBPROPSET_ROWSET Properties

Property Status Initial Value
DBPROP_ABORTPRESERVE READ/WRITE VARIANT_TRUE
DBPROP_ACCESSORORDER READ-ONLY DBPROP_AO_RANDOM
DBPROP_APPENDONLY READ-ONLY VARIANT_FALSE
DBPROP_BLOCKINGSTORAGEOBJECTS READ-ONLY VARIANT_FALSE
DBPROP_BOOKMARKINFO READ-ONLY 0
DBPROP_BOOKMARKS READ/WRITE VARIANT_FALSE
DBPROP_BOOKMARKSKIPPED READ/WRITE VARIANT_TRUE
DBPROP_BOOKMARKTYPE READ-ONLY DBPROP_BMK_NUMERIC
DBPROP_CACHEDEFERRED READ-ONLY VARIANT_FALSE
DBPROP_CANFETCHBACKWARDS READ/WRITE VARIANT_FALSE
DBPROP_CANHOLDROWS READ/WRITE VARIANT_FALSE
DBPROP_CANSCROLLBACKWARDS READ/WRITE VARIANT_FALSE
DBPROP_CHANGEINSERTEDROWS READ-ONLY VARIANT_TRUE
DBPROP_CLIENTCURSOR READ/WRITE VARIANT_TRUE
DBPROP_COLUMNRESTRICT READ-ONLY VARIANT_TRUE
DBPROP_COMMANDTIMEOUT READ/WRITE 0, currently not operational
DBPROP_COMMITPRESERVE READ/WRITE VARIANT_TRUE
DBPROP_DEFERRED READ-ONLY VARIANT_TRUE
DBPROP_DELAYSTORAGEOBJECTS READ-ONLY VARIANT_TRUE, no delayed update
DBPROP_FINDCOMPAREOPS READ-ONLY DBPROPVAL_CO_EQUALITY | DBPROPVAL_CO_STRING |DBPROPVAL_CO_CASESENSITIVE | DBPROPVAL_CO_CASEINSENSITIVE | DBPROPVAL_CO_CONTAINS |DBPROPVAL_CO_BEGINSWITH
DBPROP_HIDDENCOLUMNS READ-ONLY 0
DBPROP_IACCESSOR READ-ONLY VARIANT_TRUE
DBPROP_ICOLUMNSINFO READ-ONLY VARIANT_TRUE
DBPROP_ICOLUMNSROWSET READ/WRITE VARIANT_TRUE
DBPROP_ICONNECTIONPOINTCONTAINER READ-ONLY VARIANT_TRUE
DBPROP_ICONVERTTYPE READ-ONLY VARIANT_TRUE
DBPROP_IMMOBILEROWS READ-ONLY VARIANT_TRUE
DBPROP_IMULTIPLERESULTS READ/WRITE VARIANT_TRUE
DBPROP_IROWSET READ-ONLY VARIANT_TRUE
DBPROP_IROWSETCHANGE READ/WRITE VARIANT_FALSE
DBPROP_IROWSETFIND READ/WRITE VARIANT_FALSE
DBPROP_IROWSETIDENTITY READ-ONLY VARIANT_TRUE
DBPROP_IROWSETINFO READ-ONLY VARIANT_TRUE
DBPROP_IROWSETLOCATE READ/WRITE VARIANT_FALSE
DBPROP_IROWSETREFRESH READ/WRITE VARIANT_FALSE
DBPROP_IROWSETSCROLL READ/WRITE VARIANT_FALSE
DBPROP_IROWSETUPDATE READ/WRITE VARIANT_FALSE
DBPROP_ISEQUENTIALSTREAM READ/WRITE VARIANT_TRUE
DBPROP_ISUPPORTERRORINFO READ/WRITE VARIANT_TRUE
DBPROP_LITERALBOOKMARKS READ-ONLY VARIANT_FALSE
DBPROP_LITERALIDENTITY READ-ONLY VARIANT_FALSE
DBPROP_LOCKMODE READ-ONLY DBPROPVAL_LM_NONE
DBPROP_MAXOPENROWS READ/WRITE 0, No limit
DBPROP_MAXPENDINGROWS READ-ONLY 0, No limit
DBPROP_MAXROWS READ/WRITE 0
DBPROP_MAXROWSIZE READ-ONLY 0
DBPROP_MAXROWSIZEINCLUDESBLOB READ-ONLY VARIANT_FALSE
DBPROP_NOTIFICATIONGRANULARITY READ/WRITE DBPROPVAL_NT_MULTIPLEROWS
DBPROP_NOTIFICATIONPHASES READ/WRITE DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO |DBPROPVAL_NP_SYNCHAFTER | DBPROPVAL_NP_FAILEDTODO | DBPROPVAL_NP_DIDEVENT
DBPROP_NOTIFYCOLUMNSET READ/WRITE DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO |DBPROPVAL_NP_SYNCHAFTER | DBPROPVAL_NP_FAILEDTODO | DBPROPVAL_NP_DIDEVENT
DBPROP_NOTIFYROWDELETE READ/WRITE DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO |DBPROPVAL_NP_SYNCHAFTER | DBPROPVAL_NP_FAILEDTODO | DBPROPVAL_NP_DIDEVENT
DBPROP_NOTIFYROWFIRSTCHANGE READ/WRITE DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO
DBPROP_NOTIFYROWINSERT READ/WRITE DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO |DBPROPVAL_NP_SYNCHAFTER | DBPROPVAL_NP_FAILEDTODO | DBPROPVAL_NP_DIDEVENT
DBPROP_NOTIFYROWRESYNCH READ/WRITE DBPROPVAL_NP_OKTODO |DBPROPVAL_NP_ABOUTTODO |DBPROPVAL_NP_SYNCHAFTER
DBPROP_NOTIFYROWSETRELEASE READ/WRITE DBPROPVAL_NP_OKTODO |DBPROPVAL_NP_ABOUTTODO |DBPROPVAL_NP_SYNCHAFTER
DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE READ/WRITE DBPROPVAL_NP_OKTODO |DBPROPVAL_NP_ABOUTTODO |DBPROPVAL_NP_SYNCHAFTER
DBPROP_NOTIFYROWUNDOCHANGE READ/WRITE DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO |DBPROPVAL_NP_SYNCHAFTER | DBPROPVAL_NP_FAILEDTODO | DBPROPVAL_NP_DIDEVENT
DBPROP_NOTIFYROWUNDODELETE READ/WRITE DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO |DBPROPVAL_NP_SYNCHAFTER | DBPROPVAL_NP_FAILEDTODO | DBPROPVAL_NP_DIDEVENT
DBPROP_NOTIFYROWUNDOINSERT READ/WRITE DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO |DBPROPVAL_NP_SYNCHAFTER | DBPROPVAL_NP_FAILEDTODO | DBPROPVAL_NP_DIDEVENT
DBPROP_NOTIFYROWUNDOUPDATE READ/WRITE DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO |DBPROPVAL_NP_SYNCHAFTER | DBPROPVAL_NP_FAILEDTODO | DBPROPVAL_NP_DIDEVENT
DBPROP_ORDEREDBOOKMARKS READ-ONLY VARIANT_TRUE
DBPROP_OTHERINSERT READ-ONLY VARIANT_FALSE
DBPROP_OTHERUPDATEDELETE READ-ONLY VARIANT_FALSE
DBPROP_OWNINSERT READ-ONLY VARIANT_TRUE
DBPROP_OWNUPDATEDELETE READ-ONLY VARIANT_TRUE
DBPROP_QUICKRESTART READ/WRITE VARIANT_FALSE
DBPROP_REENTRANTEVENTS READ-ONLY VARIANT_FALSE
DBPROP_REMOVEDELETED READ-ONLY VARIANT_TRUE
DBPROP_REPORTMULTIPLECHANGES READ-ONLY VARIANT_FALSE
DBPROP_RETURNPENDINGINSERTS READ/WRITE VARIANT_TRUE
DBPROP_ROWRESTRICT READ/WRITE VARIANT_FALSE
DBPROP_ROWTHREADMODEL READ-ONLY DBPROPVAL_RT_FREETHREAD
DBPROP_SERVERCURSOR READ/WRITE VARIANT_FALSE
DBPROP_SERVERDATAONINSERT READ/WRITE VARIANT_TRUE
DBPROP_STRONGIDENTITY READ/WRITE VARIANT_TRUE
DBPROP_TRANSACTEDOBJECT READ-ONLY VARIANT_TRUE
DBPROP_UNIQUEROWS READ/WRITE VARIANT_FALSE
DBPROP_UPDATABILITY READ/WRITE DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_DELETE | DBPROPVAL_UP_INSET

Rowset Property Implications

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.

Interfaces Supported

This section identifies the OLE DB interfaces that are supported by Oracle Provider for OLE DB.

Data Source

CoType TDataSource {
      interface IDBCreateSession;
      interface IDBInitialize;
      interface IDBProperties;
      interface IPersist;
      interface IDBInfo;
      interface ISupportErrorInfo;
   }

Session

CoType TSession {
      interface IGetDataSource;
      interface IOpenRowset;
      interface ISessionProperties;
      interface IDBCreateCommand;
      interface IDBSchemaRowset;
      interface ISupportErrorInfo;
      interface ITransactionJoin;
      interface ITransactionLocal;
      interface ITransaction;
   }

Command

CoType TCommand {
      interface IAccessor;
      interface IColumnsInfo;
      interface ICommand;
      interface ICommandProperties;
      interface ICommandText;
      interface IConvertType;
      interface IColumnsRowset;
      interface ICommandPrepare;
      interface ICommandWithParameters;
      interface ISupportErrorInfo;
   }

Rowset

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 IRowsetScroll;
      interface IRowsetUpdate;
      interface ISupportErrorInfo;
   }

Multiple Results

CoType TMultipleResults {
      interface IMultipleResults;
      interface ISupportErrorInfo;
   }

Transaction Options

CoType TTransactionOptions {
      interface ITransactionOptions;
      interface ISupportErrorInfo;
   }

Custom Error Object

CoType TCustomErrorObject {
      interface IErrorLookup;
   }

MetaData Columns Supported

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:

OraOLEDB Tracing

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:

Registry Setting for Tracing Calls

To trace the interface calls, you must configure the following registry values for HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAME\OLEDB\:

  • TraceFileName

    Valid Value: Any valid path and file name

    TraceFileName specifies the file name that is to be used for logging trace information. If TraceOption is set to 0, the name is used as is. However, if TraceOption is 1, then the thread ID is appended to the file name provided. See "TraceOption" for more information.

  • 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 a single trace file is specified, the file name specified in TraceFileName is used. If multiple trace file is requested, a Thread ID is appended to the file name provided to create a trace file for each thread.