この付録では、Oracle Provider for OLE DB固有のOLE DBの情報について説明します。すべてのOLE DBプロパティおよびインタフェースの詳細なリストを含むOLE DBの一般的な情報については、Microsoft社のOLE DB Programmer's Reference Guideを参照してください。
この付録の項目は次のとおりです。
ここでは、Oracleデータ型とOLE DBで定義される型の間のデータ型マッピングのリストを示します。Oracle Provider for OLE DBは、パラメータと同様に行セットでもOLE DBで定義される特定のデータ型を使用して、Oracleデータ型を表します。OLE DBで定義される型は、表を作成するときにもOracleデータ型にマッピングされます。
それぞれのOracleデータ型は、表A-1に示すように、特定のOLE DBデータ型にマッピングされます。この対応関係は、データ型の情報がOracle Databaseから取り出されるときに使用されます。
Oracleデータ型 | OLE DBデータ型 - 通常(非Unicode)モード | OLE DBデータ型 - Unicodeモード |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ここでは、Oracle Provider for OLE DBでサポートされるプロパティのリストを示します。読取り/書込みの状態と初期値も示します。
表A-2は、データソースのプロパティの一覧です。
表A-3は、DataSourceInfo
のプロパティの一覧です。
表A-3 DBPROPSET_DATASOURCEINFOプロパティ
表A-4は、初期化のプロパティと認可のプロパティの一覧です。
表A-4 DBPROPSET_DBINITプロパティ
プロパティ | 状態 | 初期値 |
---|---|---|
|
読取り専用 |
|
|
読取り/書込み |
ユーザーID |
|
読取り/書込み |
接続文字列 |
|
読取り/書込み |
プロンプト用のウィンドウ・ハンドル |
|
読取り/書込み |
システムのLCID |
|
読取り/書込み |
|
|
読取り/書込み |
|
表A-5は、セッションのプロパティの一覧です。
表A-6は、行セットのプロパティの一覧です。
表A-6 DBPROPSET_ROWSETプロパティ
プロパティ | 状態 | 初期値 |
---|---|---|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
特定のプロパティがVARIANT_TRUE
に設定されている場合、Oracle Provider for OLE DBは、その他の必要なプロパティを設定します。
DBPROP_IROWSETLOCATE
にVARIANT_TRUE
が設定されている場合、次のプロパティにもVARIANT_TRUE
が設定されます。
DBPROP_IROWSETIDENTITY
DBPROP_CANHOLDROWS
DBPROP_BOOKMARKS
DBPROP_CANFETCHBACKWARDS
DBPROP_CANSCROLLBACKWARDS
DBPROP_IROWSETSCROLL
にVARIANT_TRUE
が設定されている場合、次のプロパティにもVARIANT_TRUE
が設定されます。
DBPROP_IROWSETIDENTITY
DBPROP_IROWSETLOCATE
DBPROP_CANHOLDROWS
DBPROP_BOOKMARKS
DBPROP_CANFETCHBACKWARDS
DBPROP_CANSCROLLBACKWARDS
DBPROP_IROWSETUPDATE
にVARIANT_TRUE
が設定されている場合、DBPROP_IROWSETCHANGEプロパティにもVARIANT_TRUE
が設定されます。
ここでは、Oracle Provider for OLE DBでサポートされるOLE DBインタフェースを示します。
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 IRowsetScroll; interface IRowsetUpdate; interface ISupportErrorInfo; }
CoType TMultipleResults { interface IMultipleResults; interface ISupportErrorInfo; }
CoType TTransactionOptions { interface ITransactionOptions; interface ISupportErrorInfo; }
DBTYPE_BASECOLUMNNAME
、DBTYPE_BASETABLENAME
およびDBTYPE_BASESCHEMANAME
の各メタデータ列には、読取り専用レコードセット用のデータは移入されません。OraOLEDBは、DISTINCT
またはUNIQUE
キーワードを使用したSQL問合せのためのサーバー・カーソル用読取り専用レコードセットを作成します。OraOLEDBは、JOIN
問合せのためのサーバー・カーソル用読取り専用レコードセットも作成します。
次のメタデータ列は、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には、デバッグを目的とする、インタフェース・コールのトレース機能があります。この機能は、顧客の問題をデバッグする際に、Oracleサポート・サービスの役に立つよう提供されています。
プロバイダは、次の情報を記録するように構成できます。
OLE DBインタフェース・メソッドの入力および出力
提供されているパラメータ値(入力)
戻り値、HRESULT
(出力)
スレッドID(入力と出力)
分散トランザクションの登録および登録解除
セッション・オブジェクト情報
トランザクションID
インタフェース・コールをトレースするには、HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_
HOMENAME
\OLEDB\
に対して次のレジストリ値を構成する必要があります。
有効値: 任意の有効パスおよびファイル名
TraceFileName
は、トレース情報のログに使用するファイル名を指定します。TraceOption
が0
に設定されている場合は、名前がそのまま使用されます。一方、TraceOption
が1
の場合は、指定されたファイル名にスレッドIDが追加されます。詳細は、「TraceOption
」を参照してください。
有効値:
0
= なし
1
= OLEDBインタフェース・メソッドの入力
2
= OLEDBインタフェース・メソッドの出力
4
= 分散トランザクションの登録および登録解除
TraceCategory
は、トレースする情報を指定します。有効値を加算することによって、異なるトレース・カテゴリの組合せを作成できます。たとえば、TraceCategory
に3
を設定すると、すべてのOLE DBインタフェース・メソッドの入力と出力がトレースされます。
有効値:
0
= なし
1
= データソース・オブジェクト
2
= セッション・オブジェクト
4
= コマンド・オブジェクト
8
= 行セット・オブジェクト
16
= エラー・オブジェクト
64
= 複数結果オブジェクト
TraceLevel
は、トレースするOLE DBオブジェクトを指定します。すべてのOLE DBオブジェクトに対するすべての入出力のコールをトレースする必要はない場合、TraceLevel
によって、トレース対象を1つまたは複数のOLE DBオブジェクトに限定できます。複数のオブジェクトに対するトレースを取得するには、有効値を加算します。たとえば、TraceLevel
が12
に、TraceCategory
が3
に設定されている場合は、トレース・ファイルにはコマンド・オブジェクトと行セット・オブジェクトに対するメソッドの入出力のみが含まれます。
グローバル・トランザクションの登録および登録解除情報をトレースするには、TraceLevel
値にセッション・オブジェクト(2)を設定する必要があります。
TraceOption
有効値:
0
= 単一のトレース・ファイル
1
= 複数のトレース・ファイル
TraceOption
は、各スレッドIDに対してトレース情報を単一のファイルと複数のファイルのどちらに記録するかを指定します。単一のトレース・ファイルが指定されている場合は、TraceFileName
で指定されたファイル名が使用されます。複数のトレース・ファイルが要求されている場合は、各スレッドのトレース・ファイルを作成するために指定されたファイル名にスレッドIDが追加されます。