OLE DB テーブル値パラメータの型のサポート (プロパティ)
このトピックでは、テーブル値パラメータの行セット オブジェクトに関連付けられている OLE DB プロパティおよびプロパティ セットについて説明します。
プロパティ
次に、テーブル値パラメータの行セット オブジェクトの IRowsetInfo::GetPropeties メソッドを使用して公開されるプロパティの一覧を示します。テーブル値パラメータの行セット プロパティはすべて読み取り専用であることに注意してください。したがって、IOpenRowset::OpenRowset メソッドまたは ITableDefinitionWithConstraints::CreateTableWithConstraints メソッドでプロパティを既定値以外の値に設定すると、エラーが発生し、オブジェクトが作成されません。
テーブル値パラメータの行セット オブジェクトで実装されていないプロパティは、次の一覧には含まれていません。すべてのプロパティの一覧は、Windows Data Access Components の OLE DB に関するドキュメントを参照してください。
プロパティ ID |
値 |
---|---|
DBPROP_ABORTPRESERVE |
VARIANT_TRUE |
DBPROP_ACCESSORDER |
DBPROPVAL_AO_RANDOM |
DBPROP_BLOCKINGSTORAGEOBJECTS |
VARIANT_TRUE |
DBPROP_BOOKMARKS DBPROP_LITERALBOOKMARKS |
R/W: 読み取り専用 既定値 : VARIANT_FALSE 説明 : ブックマークはテーブル値パラメータの行セット オブジェクトで利用できません。 |
DBPROP_BOOKMARKSKIPPED |
VARIANT_FALSE |
DBPROP_BOOKMARKTYPE |
DBPROPVAL_BMK_NUMERIC |
DBPROP_CANHOLDROWS |
VARIANT_FALSE |
DBPROP_CHANGEINSERTEDROWS |
VARIANT_TRUE |
DBPROP_COLUMNRESTRICT |
VARIANT_FALSE |
DBPROP_COMMANDTIMEOUT |
0 |
DBPROP_COMMITPRESERVE |
VARIANT_TRUE |
DBPROP_DEFERRED |
VARIANT_FALSE |
DBPROP_DELAYSTORAGEOBJECTS |
VARIANT_FALSE |
DBPROP_IAccessor DBPROP_IColumnsInfo DBPROP_IConvertType DBPROP_IRowset DBPROP_IRowsetInfo DBPROP_IColumnsRowset |
VARIANT_TRUE |
DBPROP_IConnectionPointContainer DBPROP_IMultipleResults DBPROP_IRowsetUpdate DBPROP_IRowsetIdentity DBPROP_IRowsetLocate DBPROP_IRowsetScroll DBPROP_IRowsetResynch |
VARIANT_FALSE |
DBPROP_IRowsetChange |
VARIANT_TRUE 注 : テーブル値パラメータの行セット オブジェクトでは、IRowsetChange インターフェイスがサポートされます。 DBPROP_IRowsetChange を VARIANT_TRUE に設定して作成された行セットの動作は、即時更新モードの動作になります。 ただし、BLOB 列が ISequentialStream オブジェクトとしてバインドされる場合、コンシューマでは、テーブル値パラメータの行セット オブジェクトの有効期間中その列を保持する必要があります。 |
DBPROP_ISupportErrorInfo |
VARIANT_TRUE |
DBPROP_ISequentialStream |
VARIANT_TRUE |
DBPROP_IMMOBILEROWS |
VARIANT_TRUE |
DBPROP_LITERALIDENTITY |
VARIANT_TRUE |
DBPROP_LOCKMODE |
DBPROPVAL_LM_NONE |
DBPROP_MAXOPENROWS |
0 |
DBPROP_MAXPENDINGROWS |
0 |
DBPROP_MAXROWS |
0 |
DBPROP_NOTIFICATIONPHASES |
0 |
DBPROP_NOTIFYCOLUMNSET DBPROP_NOTIFYROWDELETE DBPROP_NOTIFYROWFIRSTCHANGE DBPROP_NOTIFYROWINSERT DBPROP_NOTIFYROWRESYNCH DBPROP_NOTIFYROWSETRELEASE DBPROP_NOTIFYROWSETFETCH-POSITIONCHANGE DBPROP_NOTIFYROWUNDOCHANGE DBPROP_NOTIFYROWUNDODELETE DBPROP_NOTIFYROWUNDOINSERT DBPROP_NOTIFYROWUPDATE |
0 |
DBPROP_OTHERINSERT DBPROP_OTHERUPDATEDELETE |
VARIANT_FALSE |
DBPROP_OWNINSERT DBPROP_OWNUPDATEDELETE |
VARIANT_TRUE |
DBPROP_QUICKRESTART |
VARIANT_TRUE |
DBPROP_REENTRANTEVENTS |
VARIANT_FALSE |
DBPROP_REMOVEDELETED |
VARIANT_TRUE |
DBPROP_RETURNPENDINGINSERTS |
VARIANT_TRUE |
DBPROP_ROWRESTRICT |
VARIANT_FALSE |
DBPROP_ROWTHREADMODEL |
DBPROPVAL_RT_FREETHREAD |
DBPROP_SERVERCURSOR |
VARIANT_FALSE |
DBPROP_SERVERDATAONINSERT |
VARIANT_FALSE |
DBPROP_STRONGIDENTITY |
VARIANT_TRUE |
DBPROP_TRANSACTEDOBJECT |
VARIANT_FALSE |
DBPROP_UNIQUEROWS |
VARIANT_FALSE |
DBPROP_UPDATABILITY |
DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_DELETE | DBPROPVAL_UP_INSERT |
プロパティ セット
次のプロパティ セットでは、テーブル値パラメータがサポートされます。
DBPROPSET_SQLSERVERCOLUMN
このプロパティは、テーブル値パラメータの行セット オブジェクトを作成するプロセスでコンシューマによって使用されます。このプロセスでは、必要に応じて、DBCOLUMNDESC 構造体から各列の ITableDefinitionWithConstraints::CreateTableWithConstraints を使用します。
プロパティ ID |
プロパティ値 |
---|---|
SSPROP_COL_COMPUTED |
R/W: 読み取り/書き込み 既定値 : VARIANT_FALSE 型 : VT_BOOL 説明 : VARIANT_TRUE に設定された場合、その列が計算列であることを示します。VARIANT_FALSE に設定された場合は、その列が計算列ではないことを示します。 |
DBPROPSET_SQLSERVERPARAMETER
これらのプロパティは、ISSCommandWithParamters::GetParameterProperties の呼び出しでテーブル値パラメータの型情報の検出中にコンシューマによって読み取られ、ISSCommandWithParameters::SetParameterProperties を使用してテーブル値パラメータに関する特定のプロパティの設定中にコンシューマによって設定されます。
次の表に、これらのプロパティの詳細を示します。
プロパティ ID |
プロパティ値 |
---|---|
SSPROP_PARAM_TYPE_TYPENAME |
R/W: 読み取り/書き込み 既定値 : VT_EMPTY 型 : VT_BSTR 説明 : コンシューマは、このプロパティを使用して、テーブル値パラメータの型名を取得または設定します。 このプロパティは、CLR ユーザー定義型と共に使用することもできます。 このプロパティは、テーブル値パラメータのテーブルの型名を指定するように、必要に応じて指定できます (ODBC の呼び出し構文のコマンドの場合)。このプロパティは、パラメータ化されたアドホック SQL クエリに必要です。 |
SSPROP_PARAM_TYPE_SCHEMANAME |
R/W: 読み取り/書き込み 既定値 : VT_EMPTY 型 : VT_BSTR 説明 : コンシューマは、このプロパティを使用して、テーブル値パラメータの型のスキーマ名を取得または設定します。 このプロパティは、CLR ユーザー定義型と共に使用することもできます。 |
SSPROP_PARAM_TYPE_CATALOGNAME |
R/W: 読み取り専用 既定値 : VT_EMPTY 型 : VT_BSTR 説明 : コンシューマは、このプロパティを使用して、テーブル値パラメータの型のカタログ名を取得します。 このプロパティは、CLR ユーザー定義型と共に使用することもできます。このプロパティを設定するとエラーになります。ユーザー定義テーブル型は、それを使用するテーブル値パラメータと同じデータベースに内にある必要があります。 |
SSPROP_PARAM_TABLE_DEFAULT_COLUMNS |
R/W: 読み取り/書き込み 既定値 : VT_EMPTY 型 : VT_UI2 | VT_ARRAY 説明 : コンシューマは、このプロパティを使用して、既定値として扱う、行セット内の列セットを指定します。これらの列の値は送信されません。プロバイダは、コンシューマの行セット オブジェクトからデータをフェッチしている間、このような列のバインドを必要としません。 配列の各要素は、行セット オブジェクト内の列の序数である必要があります。序数が無効な場合、コマンドの実行時にエラーが発生します。 |
SSPROP_PARAM_TABLE_COLUMN_ORDER |
R/W: 読み取り/書き込み 既定値 : VT_EMPTY 型 : VT_UI2 | VT_ARRAY 説明 : このプロパティは、列データの並べ替え順を示すヒントをサーバーに提供するためにコンシューマによって使用されます。プロバイダでは検証は行われず、提供された仕様にコンシューマが準拠していることが想定されます。サーバーでは、このプロパティを使用して最適化を実行します。 各列の列順序情報は、配列内の要素のペアで表されます。ペアの最初の要素は列数で、ペアの 2 番目の要素は、昇順の場合は 1、降順の場合は 2 になります。 |