A プロバイダ固有の情報
次の各項では、Oracle Provider for OLE DBに固有のOLE DB情報について説明します。すべてのOLE DBプロパティおよびインタフェースの詳細なリストを含むOLE DBの一般的な情報については、Microsoft社のOLE DB Programmer's Reference Guideを参照してください。
A.1 行セットおよびパラメータのデータ型マッピング
ここでは、Oracleデータ型とOLE DBで定義される型の間のデータ型マッピングのリストを示します。Oracle Provider for OLE DBは、パラメータと同様に行セットでもOLE DBで定義される特定のデータ型を使用して、Oracleデータ型を表します。OLE DBで定義される型は、表を作成するときにもOracleデータ型にマッピングされます。
それぞれのOracleデータ型が、次の表に示すように特定のOLE DBデータ型にマッピングされます。この対応関係は、データ型の情報がOracle Databaseから取り出されるときに使用されます。
表A-1 データ型マッピング
Oracleデータ型 | OLE DBデータ型 - 通常(非Unicode)モード | OLE DBデータ型 - Unicodeモード |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A.2 サポートされているプロパティ
A.2.1 データソース・プロパティ
表A-2は、データソースのプロパティの一覧です。
表A-2 DBPROPSET_DATASOURCEプロパティ
プロパティ | 状態 | 初期値 |
---|---|---|
|
読取り専用 |
|
A.2.2 DataSourceInfoのプロパティ
表A-3は、DataSourceInfo
のプロパティの一覧です。
表A-3 DBPROPSET_DATASOURCEINFOプロパティ
プロパティ | 状態 | 初期値 |
---|---|---|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
"Database link" |
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
" "、実行時に設定 |
|
読取り専用 |
|
|
読取り専用 |
" "、実行時に設定 |
|
読取り専用 |
実行時に設定 |
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
0、制限なし |
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
"PL/SQL Stored Procedure" |
|
読取り専用 |
"Oracle Provider for OLE DB" |
|
読取り専用 |
|
|
読取り専用 |
"02.01" |
|
読取り専用 |
現在のOraOLEDBバージョンに設定 |
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
"Owner" |
|
読取り専用 |
|
|
読取り専用 |
" "、実行時に設定 |
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
"Table" |
|
読取り専用 |
" "、実行時に設定 |
A.2.3 初期化のプロパティと認可のプロパティ
表A-4は、初期化のプロパティと認可のプロパティの一覧です。
表A-4 DBPROPSET_DBINITプロパティ
プロパティ | 状態 | 初期値 |
---|---|---|
|
読取り専用 |
|
|
読取り/書込み |
ユーザーID |
|
読取り/書込み |
接続文字列 |
|
読取り/書込み |
プロンプト用のウィンドウ・ハンドル |
|
読取り/書込み |
システムのLCID |
|
読取り/書込み |
|
|
読取り/書込み |
|
A.2.4 セッション・プロパティ
表A-5は、セッションのプロパティの一覧です。
表A-5 DBPROPSET_SESSIONプロパティ
プロパティ | 状態 | 初期値 |
---|---|---|
|
読取り専用 |
|
A.2.5 行セットのプロパティ
表A-6は、行セットのプロパティの一覧です。
表A-6 DBPROPSET_ROWSETプロパティ
プロパティ | 状態 | 初期値 |
---|---|---|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
|
読取り専用 |
|
|
読取り/書込み |
|
|
読取り/書込み |
|
A.2.5.1 行セットのプロパティの含意
特定のプロパティが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
が設定されます。
A.3 サポートされているインタフェース
A.3.1 データ・ソース
CoType TDataSource { interface IDBCreateSession; interface IDBInitialize; interface IDBProperties; interface IPersist; interface IDBInfo; interface ISupportErrorInfo; }
A.3.2 セッション
CoType TSession { interface IGetDataSource; interface IOpenRowset; interface ISessionProperties; interface IDBCreateCommand; interface IDBSchemaRowset; interface ISupportErrorInfo; interface ITransactionJoin; interface ITransactionLocal; interface ITransaction; }
A.3.3 コマンド
CoType TCommand { interface IAccessor; interface IColumnsInfo; interface ICommand; interface ICommandProperties; interface ICommandText; interface IConvertType; interface IColumnsRowset; interface ICommandPrepare; interface ICommandWithParameters; interface ISupportErrorInfo; }
A.3.4 行セット
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; }
A.3.6 トランザクション・オプション
CoType TTransactionOptions { interface ITransactionOptions; interface ISupportErrorInfo; }
A.4 サポートされるメタデータ列
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
A.5 OraOLEDBトレース
OraOLEDBには、デバッグを目的とする、インタフェース・コールのトレース機能があります。この機能は、顧客の問題をデバッグする際に、Oracleサポート・サービスの役に立つよう提供されています。
プロバイダは、次の情報を記録するように構成できます。
-
OLE DBインタフェース・メソッドの入力および出力
-
提供されているパラメータ値(入力)
-
戻り値、
HRESULT
(出力) -
スレッドID(開始および終了)
-
-
分散トランザクションの登録および登録解除
-
セッション・オブジェクト情報
-
トランザクションID
注意:
グローバル・トランザクションの登録および登録解除情報を記録するには、
TraceLevel
値にセッション・オブジェクトを設定する必要があります。コールをトレースするためのレジストリ設定のTraceOption
を参照してください。
-
A.5.1 コールをトレースするためのレジストリ設定
ODAC 12c リリース4では、OraOLEDBがデフォルトでトレース・ファイルを書き込むために次の新しいディレクトリを使用するようになりました: <Windows user temporary folder>
\oledb\trace
。
Windowsユーザーの一時フォルダは、Windows TMPまたはTEMP環境変数など、ローカルのWindows設定で定義されています。通常、C:\temp
またはC:\Users\
<user name>
\AppData\Local\Temp
です。
トレース・ファイルの場所を変更するには、TraceFileLocation
属性を使用して新しい場所を設定します。TraceFileLocation
は、デフォルトではWindowsレジストリに作成されません。OraOLEDBは、トレース・ファイルを作成するたびにトレースが作成されたWindowsイベント・ログにエントリを作成します。
インタフェース・コールをトレースするには、HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_
HOMENAME
\OLEDB\
に対して次のレジストリ値を構成する必要があります。
-
TraceFileLocation
有効な値: 任意の有効なディレクトリ・パス
TraceFileLocation
は、トレース・ファイルの保存先ディレクトリを指定します。デフォルトのトレースの場所は<Windows user temporary folder>
\oledb\trace
です。 -
TraceCategory
有効な値:
-
0
= なし -
1
= OLEDBインタフェース・メソッドの入力 -
2
= OLEDBインタフェース・メソッドの出力 -
4
= 分散トランザクションの登録および登録解除
TraceCategory
は、トレースする情報を指定します。有効値を加算することによって、異なるトレース・カテゴリの組合せを作成できます。たとえば、TraceCategory
に3
を設定すると、すべてのOLE DBインタフェース・メソッドの入力と出力がトレースされます。 -
-
TraceLevel
有効な値:
-
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に対してトレース情報を単一のファイルと複数のファイルのどちらに記録するかを指定します。複数のトレース・ファイルが要求されている場合は、各スレッドのトレース・ファイルを作成するために指定されたファイル名にスレッドIDが追加されます。 -