行セットのプロパティと動作
次に、SQL Native Client OLE DB プロバイダの行セット プロパティを示します。
プロパティ ID
説明
DBPROP_ABORTPRESERVE
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : このプロパティで中止操作後の行セットの動作が決まります。
VARIANT_FALSE: 中止操作後、SQL Native Client OLE DB プロバイダが行セットを無効にします。行セット オブジェクトの機能は、ほぼ失われます。サポートされるのは、IUnknown 操作、および未処理の行とアクセサ ハンドルの解放のみです。
VARIANT_TRUE: SQL Native Client OLE DB プロバイダは、行セットを有効なままにします。
DBPROP_ACCESSORDER
R/W: 読み取り/書き込み
既定値 : DBPROPVAL_AO_RANDOM
説明 : アクセスの順序です。行セット内の列にアクセスする順序を指定します。
DBPROPVAL_AO_RANDOM: 任意の順序で列にアクセスできます。
DBPROPVAL_AO_SEQUENTIALSTORAGEOBJECTS: ストレージ オブジェクトとしてバインドされている列は、列序数で決まるシーケンシャルな順序でしかアクセスできません。
DBPROPVAL_AO_SEQUENTIAL: すべての列には、列序数で決まるシーケンシャルな順序でアクセスする必要があります。
DBPROP_APPENDONLY
この行セット プロパティは、SQL Native Client OLE DB プロバイダでは実装されません。このプロパティ値の読み取りまたは書き込みを行うと、エラーが発生します。
DBPROP_BLOCKINGSTORAGEOBJECTS
R/W : 読み取り専用
既定値 : VARIANT_TRUE
説明 : SQL Native Client OLE DB プロバイダのストレージ オブジェクトが、行セットの他のメソッドを使用するのをブロックします。
DBPROP_BOOKMARKS DBPROP_LITERALBOOKMARKS
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : SQL Native Client OLE DB プロバイダは、DBPROP_BOOKMARKS または DBPROP_LITERALBOOKMARKS が VARIANT_TRUE のとき、行セットの行 ID のブックマークをサポートします。
いずれかのプロパティを VARIANT_TRUE に設定しても、ブックマークによる行セットの位置指定が有効になるわけではありません。ブックマークによる行セットの位置指定をサポートする行セットを作成するには、DBPROP_IRowsetLocate または DBPROP_IRowsetScroll を VARIANT_TRUE に設定します。
SQL Native Client OLE DB プロバイダは、Microsoft SQL Server カーソルを使用して、ブックマークを含む行セットをサポートします。詳細については、「行セットと SQL Server カーソル」を参照してください。
メモ :
これらのプロパティ設定と、SQL Native Client OLE DB プロバイダのその他のカーソル定義プロパティ設定の間に一貫性がないと、エラーが発生します。たとえば、DBPROP_OTHERINSERT が VARIANT_TRUE のときに、DBPROP_BOOKMARKS を VARIANT_TRUE に設定すると、コンシューマが行セットを開く時点でエラーが発生します。
DBPROP_BOOKMARKSKIPPED
R/W : 読み取り専用
既定値 : VARIANT_FALSE
説明 : ブックマークが設定された行セットの位置指定または検索を実行する際に、コンシューマが無効なブックマークを報告した場合、SQL Native Client OLE DB プロバイダは DB_E_BADBOOKMARK を返します。
DBPROP_BOOKMARKTYPE
R/W: 読み取り専用
既定値 : DBPROPVAL_BMK_NUMERIC
説明 : SQL Native Client OLE DB プロバイダが実装するのは、数値ブックマークのみです。SQL Native Client OLE DB プロバイダのブックマークは、32 ビットの符号なし整数で、DBTYPE_UI4 型です。
DBPROP_CACHEDEFERRED
この行セット プロパティは、SQL Native Client OLE DB プロバイダでは実装されません。このプロパティ値の読み取りまたは書き込みを行うと、エラーが発生します。
DBPROP_CANFETCHBACKWARDS DBPROP_CANSCROLLBACKWARDS
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : SQL Native Client OLE DB プロバイダで、シーケンシャルではない行セットで逆方向のフェッチと逆方向のスクロールがサポートされます。SQL Native Client OLE DB プロバイダは、DBPROP_CANFETCHBACKWARDS または DBPROP_CANSCROLLBACKWARDS が VARIANT_TRUE のときに、カーソル対応の行セットを作成します。詳細については、「行セットと SQL Server カーソル」を参照してください。
DBPROP_CANHOLDROWS
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : 現在の行セット内の行に対して保留中の変更が存在する場合に、コンシューマがその行セットに関してさらに多くの行を取得しようとすると、SQL Native Client OLE DB プロバイダは、既定では DB_E_ROWSNOTRELEASED を返します。この動作は変更できます。
DBPROP_CANHOLDROWS と DBPROP_IRowsetChange の両方が VARIANT_TRUE の場合は、ブックマークが設定された行セットになります。この 2 つのプロパティが VARIANT_TRUE の場合、行セットでは IRowsetLocate インターフェイスを使用でき、DBPROP_BOOKMARKS と DBPROP_LITERALBOOKMARKS の両方が VARIANT_TRUE になります。
SQL Server カーソルは、ブックマークを含む SQL Native Client OLE DB プロバイダの行セットをサポートします。
DBPROP_CHANGEINSERTEDROWS
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : 行セットがキーセット ドリブン カーソルを使用している場合、このプロパティには VARIANT_TRUE しか設定できません。
DBPROP_COLUMNRESTRICT
R/W : 読み取り専用
既定値 : VARIANT_FALSE
説明 : SQL Native Client OLE DB プロバイダは、行セット内のある列をコンシューマが変更できないときに、このプロパティを VARIANT_TRUE に設定します。行セットの他の列は、更新可能にできます。また、行自体を削除することもできます。
このプロパティが VARIANT_TRUE の場合、コンシューマは DBCOLUMNINFO 構造体の dwFlags メンバを確認し、各列に値を書き込めるかどうかを判断します。列が変更可能な場合は、dwFlags は DBCOLUMNFLAGS_WRITE です。
DBPROP_COMMANDTIMEOUT
R/W : 読み取り/書き込み
既定値 : 0
説明 : 既定では、SQL Native Client OLE DB プロバイダは、ICommand::Execute メソッドでタイムアウトしません。
DBPROP_COMMITPRESERVE
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : このプロパティでコミット操作後の行セットの動作が決まります。
VARIANT_TRUE: SQL Native Client OLE DB プロバイダは、行セットを有効なままにします。
VARIANT_FALSE: コミット操作後、SQL Native Client OLE DB プロバイダが行セットを無効にします。行セット オブジェクトの機能は、ほぼ失われます。サポートされるのは、IUnknown 操作、および未処理の行とアクセサ ハンドルの解放のみです。
DBPROP_DEFERRED
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : VARIANT_TRUE に設定すると、SQL Native Client OLE DB プロバイダは、行セットに対してサーバー カーソルの使用を試みます。Text、ntext、および image 列は、アプリケーションがアクセスしないと、サーバーから返されません。
DBPROP_DELAYSTORAGEOBJECTS
R/W : 読み取り専用
既定値 : VARIANT_FALSE
説明 : SQL Native Client OLE DB プロバイダが、ストレージ オブジェクトでの即時更新モードをサポートします。
シーケンシャル ストリーム オブジェクトのデータに加えた変更は、直ちに SQL Server に送信されます。変更は、行セットのトランザクション モードに基づいてコミットされます。
DBPROP_IAccessor DBPROP_IColumnsInfo DBPROP_IConvertType DBPROP_IRowset DBPROP_IRowsetInfo
R/W : 読み取り専用
既定値 : VARIANT_TRUE
説明 : SQL Native Client OLE DB プロバイダは、これらのインターフェイスをすべての行セットでサポートします。
DBPROP_IColumnsRowset
R/W : 読み取り/書き込み
既定値 : VARIANT_TRUE
説明 : SQL Native Client OLE DB プロバイダは、IColumnsRowset インターフェイスをサポートします。
DBPROP_IConnectionPointContainer
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : IConnectionPointContainer。VARIANT_TRUE の場合は、指定したインターフェイスを行セットがサポートします。VARIANT_FALSE の場合は、指定したインターフェイスを行セットがサポートしません。インターフェイスをサポートするプロバイダは、VARIANT_TRUE を指定してインターフェイスに関連付けられたプロパティをサポートする必要があります。これらのプロパティは、主に、CommandProperties::SetProperties を介してインターフェイスを要求するために使用されます。
DBPROP_IMultipleResults
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : SQL Native Client OLE DB プロバイダは、IMultipleResults インターフェイスをサポートします。
DBPROP_IRowsetChange DBPROP_IRowsetUpdate
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : SQL Native Client OLE DB プロバイダは、IRowsetChange インターフェイスと IRowsetUpdate インターフェイスをサポートします。
DBPROP_IRowsetChange を VARIANT_TRUE に設定して作成された行セットの動作は、即時更新モードの動作になります。
DBPROP_IRowsetUpdate が VARIANT_TRUE の場合、DBPROP_IRowsetChange も VARIANT_TRUE になります。この場合は、行セットの動作は、遅延更新モードの動作になります。
SQL Native Client OLE DB プロバイダは、SQL Server カーソルを使用して、IRowsetChange または IRowsetUpdate のいずれかを公開する行セットをサポートします。詳細については、「行セットと SQL Server カーソル」を参照してください。
DBPROP_IRowsetIdentity
R/W : 読み取り/書き込み
既定値 : VARIANT_TRUE
説明 : SQL Native Client OLE DB プロバイダは、IRowsetIdentity インターフェイスをサポートします。行セットがこのインターフェイスをサポートする場合、同じ行を基準とする 2 つの行ハンドルは、常に同じデータと状態を示します。コンシューマは、IRowsetIdentity:: IsSameRow メソッドを呼び出して、2 つの行セット ハンドルを比較し、この 2 つのハンドルが同じ行インスタンスを参照しているかどうかを確認できます。
DBPROP_IRowsetLocate DBPROP_IRowsetScroll
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : SQL Native Client OLE DB プロバイダは、IRowsetLocate インターフェイスと IRowsetScroll インターフェイスを公開できます。
DBPROP_IRowsetLocate が VARIANT_TRUE の場合、DBPROP_CANFETCHBACKWARDS および DBPROP_CANSCROLLBACKWARDS も VARIANT_TRUE になります。
DBPROP_IRowsetScroll が VARIANT_TRUE の場合、DBPROP_IRowsetLocate も VARIANT_TRUE になり、行セットでこの 2 つのインターフェイスが使用可能になります。
ブックマークは、いずれのインターフェイスにも必要です。SQL Native Client OLE DB プロバイダは、コンシューマがいずれかのインターフェイスを要求したときに、DBPROP_BOOKMARKS と DBPROP_LITERALBOOKMARKS を VARIANT_TRUE に設定します。
SQL Native Client OLE DB プロバイダは、SQL Server カーソルを使用して IRowsetLocate と IRowsetScroll をサポートします。詳細については、「行セットと SQL Server カーソル」を参照してください。
これらのプロパティ設定と、SQL Native Client OLE DB プロバイダのその他のカーソル定義プロパティ設定の間に一貫性がないと、エラーが発生します。たとえば、DBPROP_OTHERINSERT が VARIANT_TRUE のときに、DBPROP_IRowsetScroll を VARIANT_TRUE に設定すると、コンシューマが行セットを開く時点でエラーが発生します。
DBPROP_IRowsetResynch
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : SQL Native Client OLE DB プロバイダは、要求に応じて IRowsetResynch インターフェイスを公開します。SQL Native Client OLE DB プロバイダは、任意の行セットでこのインターフェイスを公開できます。
DBPROP_ISupportErrorInfo
R/W : 読み取り/書き込み
既定値 : VARIANT_TRUE
説明 : SQL Native Client OLE DB プロバイダは、行セットの ISupportErrorInfo インターフェイスを公開します。
DBPROP_ILockBytes
このインターフェイスは、SQL Native Client OLE DB プロバイダでは実装されません。このプロパティの読み取りまたは書き込みを行うと、エラーが発生します。
DBPROP_ISequentialStream
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : SQL Native Client OLE DB プロバイダは、ISequentialStream インターフェイスを公開して、SQL Server に保存されている長い可変長データをサポートします。
DBPROP_IStorage
このインターフェイスは、SQL Native Client OLE DB プロバイダでは実装されません。このプロパティの読み取りまたは書き込みを行うと、エラーが発生します。
DBPROP_IStream
このインターフェイスは、SQL Native Client OLE DB プロバイダでは実装されません。このプロパティの読み取りまたは書き込みを行うと、エラーが発生します。
DBPROP_IMMOBILEROWS
R/W : 読み取り/書き込み
既定値 : VARIANT_TRUE
説明 : このプロパティは、SQL Server のキーセット カーソルの場合のみ VARIANT_TRUE になり、それ以外のカーソルの場合は VARIANT_FALSE になります。
VARIANT_TRUE: 行セットでは、挿入または更新された行は並べ替えられません。IRowsetChange::InsertRow の場合、行は行セットの最後に挿入されます。IRowsetChange::SetData の場合、行セットが順序付けられていなければ、更新された行の位置は変更されません。行セットが順序付けられていて、IRowsetChange::SetData でその行セットの順序付けに使われている列が変更された場合、行は移動されません。行セットが一連のキー列を基に構築されている場合 (一般的には DBPROP_OTHERUPDATEDELETE が VARIANT_TRUE になっており、DBPROP_OTHERINSERT が VARIANT_FALSE になっている行セットの場合)、キー列の値を変更すると、通常は、現在の行が削除され、新しい行が挿入された場合と同じ結果になります。したがって、DBPROP_OWNINSERT が VARIANT_FALSE の場合は、DBPROP_IMMOBILEROWS プロパティが VARIANT_TRUE でも、行が移動されたり、行セットから削除されたように見えることがあります。
VARIANT_FALSE: 行セットが順序付けられている場合、挿入された行は、行セットの順序に従った正しい位置に挿入されます。行セットが順序付けられていない場合は、挿入された行は、行セットの最後に追加されます。IRowsetChange::SetData が行セットの順序付けに使われている列を変更した場合、行は移動されます。行セットが順序付けされていない場合は、行の位置は変更されません。
DBPROP_LITERALIDENTITY
R/W : 読み取り専用
既定値 : VARIANT_TRUE
説明 : このプロパティは、常に VARIANT_TRUE です。
DBPROP_LOCKMODE
R/W: 読み取り/書き込み
既定値 : DBPROPVAL_LM_NONE
説明: 行セットが実行するロックのレベル (DBPROPVAL_LM_NONE、DBPROPVAL_LM_SINGLEROW) です。
メモ :
トランザクションでスナップショットの分離を使用しているときに、行セットがキーセット カーソルまたは動的サーバー カーソルを使用して開かれ、ロックのモードが DBPROPVAL_LM_SINGLEROW に設定されていた場合、行をフェッチするときに、トランザクションの開始後に別のユーザーがその行を更新していると、エラーが発生します。他の種類のカーソルや他の種類のロック モードでは、トランザクションの開始後に別のユーザーが行を更新していても、その行の更新を試みない限り、エラーは発生しません。どちらの場合も、エラーはサーバーで発生します。
DBPROP_MAXOPENROWS
R/W : 読み取り専用
既定値 : 0
説明: SQL Native Client OLE DB プロバイダは、行セット内でアクティブにできる行数を制限しません。
DBPROP_MAXPENDINGROWS
R/W : 読み取り専用
既定値 : 0
説明 : SQL Native Client OLE DB プロバイダは、行セット内で変更を保留にしておける行数を制限しません。
DBPROP_MAXROWS
R/W : 読み取り/書き込み
既定値 : 0
説明 : 既定では、SQL Native Client OLE DB プロバイダは、行セット内の行数を制限しません。コンシューマが DBPROP_MAXROWS 設定すると、SQL Native Client OLE DB プロバイダは、SET ROWCOUNT ステートメントを使用して、行セット内の行数を制限します。
SET ROWCOUNT を使用すると、SQL Server ステートメントの実行が予期しない結果になる可能性があります。詳細については、「SET ROWCOUNT」を参照してください。
DBPROP_MAYWRITECOLUMN
この行セット プロパティは、SQL Native Client OLE DB プロバイダでは実装されません。このプロパティ値の読み取りまたは書き込みを行うと、エラーが発生します。
DBPROP_MEMORYUSAGE
この行セット プロパティは、SQL Native Client OLE DB プロバイダでは実装されません。このプロパティ値の読み取りまたは書き込みを行うと、エラーが発生します。
DBPROP_NOTIFICATIONGRANULARITY
この行セット プロパティは、SQL Native Client OLE DB プロバイダでは実装されません。このプロパティ値の読み取りまたは書き込みを行うと、エラーが発生します。
DBPROP_NOTIFICATIONPHASES
R/W: 読み取り専用
既定値 : DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO | DBPROPVAL_NP_SYNCHAFTER | DBPROPVAL_NP_FAILEDTODO | DBPROPVAL_NP_DIDEVENT
説明 : SQL Native Client OLE DB プロバイダは、すべての通知フェーズをサポートします。
DBPROP_NOTIFYCOLUMNSET DBPROP_NOTIFYROWDELETE DBPROP_NOTIFYROWFIRSTCHANGE DBPROP_NOTIFYROWINSERT DBPROP_NOTIFYROWRESYNCH DBPROP_NOTIFYROWSETRELEASE DBPROP_NOTIFYROWSETFETCH-POSITIONCHANGE DBPROP_NOTIFYROWUNDOCHANGE DBPROP_NOTIFYROWUNDODELETE DBPROP_NOTIFYROWUNDOINSERT DBPROP_NOTIFYROWUPDATE
R/W: 読み取り専用
既定値 : DBPROPVAL_NP_OKTODO | DBPROPVAL_NP_ABOUTTODO
説明 : 要求された行セットの変更を実行する前に、SQL Native Client OLE DB プロバイダの通知フェーズをキャンセルできます。SQL Native Client OLE DB プロバイダは、実行が完了した後のフェーズのキャンセルはサポートしません。
DBPROP_ORDEREDBOOKMARKS
この行セット プロパティは、SQL Native Client OLE DB プロバイダでは実装されません。このプロパティ値の読み取りまたは書き込みを行うと、エラーが発生します。
DBPROP_OTHERINSERT DBPROP_OTHERUPDATEDELETE DBPROP_OWNINSERT DBPROP_OWNUPDATEDELETE
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : 変更の表示プロパティを設定すると、SQL Native Client OLE DB プロバイダは SQL Server カーソルを使用して行セットをサポートします。詳細については、「行セットと SQL Server カーソル」を参照してください。
DBPROP_QUICKRESTART
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : VARIANT_TRUE に設定すると、SQL Native Client OLE DB プロバイダは、行セットに対してサーバー カーソルの使用を試みます。
DBPROP_REENTRANTEVENTS
R/W : 読み取り専用
既定値 : VARIANT_TRUE
説明 : SQL Native Client OLE DB プロバイダの行セットが再入可能になり、コンシューマが通知コールバックにより再入可能でない行セット メソッドへのアクセスを試みた場合、DB_E_NOTREENTRANT を返すことができます。
DBPROP_REMOVEDELETED
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : SQL Native Client OLE DB プロバイダは、行セットが公開する SQL Server データに対する変更の表示設定に基づき、このプロパティの値を変更します。
VARIANT_TRUE: コンシューマまたは他の SQL Server ユーザーが削除した行は、行セットを最新状態に更新すると行セットから削除されます。DBPROP_OTHERINSERT は VARIANT_TRUE です。
VARIANT_FALSE: コンシューマまたは他の SQL Server ユーザーが削除した行は、行セットを最新状態に更新しても行セットから削除されません。削除された SQL Server 行の行セット内の状態値は DBROWSTATUS_E_DELETED です。DBPROP_OTHERINSERT は VARIANT_TRUE です。
このプロパティに含まれる値は、SQL Server カーソルがサポートする行セットに関する値のみです。詳細については、「行セットと SQL Server カーソル」を参照してください。
DBPROP_REMOVEDELETED プロパティがキーセット カーソルの行セットに実装されている場合、削除された行はフェッチ時に行セットから削除されます。また、GetNextRows や GetRowsAt などの行フェッチメソッドから、S_OK および要求された行数よりも少ない行を返すことができます。この動作は、DB_S_ENDOFROWSET の状態を示すものではないこと、また、返される行数は、残りの行がある場合は決して 0 にならないことに注意してください。
DBPROP_REPORTMULTIPLECHANGES
この行セット プロパティは、SQL Native Client OLE DB プロバイダでは実装されません。このプロパティ値の読み取りまたは書き込みを行うと、エラーが発生します。
DBPROP_RETURNPENDINGINSERTS
R/W : 読み取り専用
既定値 : VARIANT_FALSE
説明 : 行をフェッチするメソッドが呼び出されたときに、SQL Native Client OLE DB プロバイダは、挿入が保留中になっている行を返しません。
DBPROP_ROWRESTRICT
R/W : 読み取り専用
既定値 : VARIANT_TRUE
説明 : SQL Native Client OLE DB プロバイダの行セットは、行ベースのアクセス権をサポートしません。行セットで IRowsetChange インターフェイスが公開されている場合、SetData メソッドをコンシューマから呼び出すことができます。
DBPROP_ROWSET_ASYNCH
R/W : 読み取り専用
既定値 : 0
説明 : 行セットの非同期処理を提供します。このプロパティは、Rowset プロパティ グループおよび DBPROPSET_ROWSET プロパティ セットに含まれています。型は VT_I4 です。
DBPROP_ROWTHREADMODEL
R/W: 読み取り専用
既定値 : DBPROPVAL_RT_FREETHREAD
説明 : SQL Native Client OLE DB プロバイダでは、1 つのコンシューマに関する複数の実行スレッドから、プロバイダのオブジェクトへアクセスできます。
DBPROP_SERVERCURSOR
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : このプロパティを設定すると、行セットのサポートに SQL Server カーソルが使われます。詳細については、「行セットと SQL Server カーソル」を参照してください。
DBPROP_SERVERDATAONINSERT
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : 挿入時にサーバー データを使用するかどうか。
VARIANT_TRUE: 挿入要求がサーバーに転送される時点で、プロバイダがデータをサーバーから取得して、ローカルの行キャッシュを更新します。
VARIANT_FALSE: プロバイダは新しく行を挿入するためにサーバーの値を取得しません。
DBPROP_STRONGIDENTITY
R/W : 読み取り専用
既定値 : VARIANT_TRUE
説明 : 厳密な行 ID を使用するかどうか。行セットに対して挿入が許可されていて (IRowsetChange または IRowsetUpdate が TRUE)、DBPROP_UPDATABILITY が InsertRows をサポートするように設定されている場合、DBPROP_STRONGIDENTITY の値は DBPROP_CHANGEINSERTEDROWS プロパティの値により決まります (DBPROP_CHANGEINSERTEDROWS プロパティの値が VARIANT_FALSE の場合は VARIANT_FALSE になります)。
DBPROP_TRANSACTEDOBJECT
R/W : 読み取り専用
既定値 : VARIANT_FALSE
説明 : SQL Native Client OLE DB プロバイダは、トランザクション処理されたオブジェクトのみをサポートします。詳細については、「トランザクション」を参照してください。
DBPROP_UNIQUEROWS
R/W : 読み取り/書き込み
既定値 : VARIANT_FALSE
説明 : 行を一意にするかどうか。
VARIANT_TRUE: 各行は、行の列の値で一意に識別されます。行を一意に識別する列のセットは、GetColumnInfo メソッドから返される DBCOLUMNINFO 構造体の DBCOLUMNFLAGS_KEYCOLUMN に設定されます。
VARIANT_FALSE: 行は、各行の列の値で一意に識別されない場合もあります。またキー列は、DBCOLUMNFLAGS_KEYCOLUMN によって示されない場合があります。
DBPROP_UPDATABILITY
R/W : 読み取り/書き込み
既定値 : 0
説明 : SQL Native Client OLE DB プロバイダは、すべての DBPROP_UPDATABILITY 値をサポートします。DBPROP_UPDATABILITY を設定しても、更新可能な行セットが作成されるわけではありません。行セットを更新可能にするには、DBPROP_IRowsetChange または DBPROP_IRowsetUpdate を設定してください。
次の表に、SQL Native Client OLE DB プロバイダのプロバイダ固有のプロパティ セット DBPROPSET_SQLSERVERROWSET の定義を示します。
プロパティ ID
説明
SSPROP_COLUMN_ID
列 : ColumnID
R/W: 読み取り専用
型 : VT_U12 | VT_ARRAY
既定値 : VT_EMPTY
説明 : 現在の Transact-SQL SELECT ステートメント内にある COMPUTE 句の結果列の序数位置 (1 から始まります) を表す整数値の配列。これは、ODBC SQL_CA_SS_COLUMN_ID 属性に相当する SQL Native Client OLE DB プロバイダのプロパティです。
SSPROP_COMPUTE_BYLIST
列 : ComputeByList
R/W: 読み取り専用
型 : VT_BOOL
既定値 : VARIANT_FALSE
説明 : 列が COMPUTE BY 結果セットに含まれていることを示すブール値。これは、ODBC SQL_CA_SS_COMPUTE_BYLIST 属性に相当する SQL Native Client OLE DB プロバイダのプロパティです。
メモ :
この OLE DB プロパティはブール値ですが、ODBC 属性は、実際には、BY 句のすべての列序数が付加された unsigned short 型の値のリストです。
VARIANT_TRUE: 列は、COMPUTE BY ステートメントから取得されます。
VARIANT_FALSE: 列は通常の列です。COMPUTE BY ステートメントから取得されたものではありません。
SSPROP_COMPUTE_ID
列 : ComputeID
R/W: 読み取り専用
型 : VT_U12
既定値 : 0
説明 : 現在の Transact-SQL SELECT ステートメント内にある COMPUTE 句の結果行に対する計算 ID です。これは、ODBC SQL_CA_SS_COMPUTE_ID 属性に相当する SQL Native Client OLE DB プロバイダのプロパティです。
SSPROP_DEFERPREPARE
列 : なし
R/W: 読み取り/書き込み
型 : VT_BOOL
既定値 : VARIANT_TRUE
説明 : VARIANT_TRUE: 準備実行では、ICommand::Execute が呼び出されるか、メタプロパティ操作が実行されるまで、コマンド操作が遅延されます。プロパティが次の値に設定されている場合は、ステートメントの準備が行われます。
VARIANT_FALSE: ICommandPrepare::Prepare が実行される時点で、ステートメントが準備されます。
SSPROP_IRowsetFastLoad
列 : なし
R/W: 読み取り/書き込み
型 : VT_BOOL
既定値 : VARIANT_FALSE
説明 : このプロパティを VARIANT_TRUE に設定すると、IOpenRowset::OpenRowset から行セットを高速に読み込んで開くことができます。ICommandProperties::SetProperties でこのプロパティを設定することはできません。
SSPROP_ISSAsynchStatus
列 : なし
R/W: 読み取り/書き込み
型 : VT_BOOL
既定値 : VARIANT_FALSE
説明 : このプロパティを VARIANT_TRUE に設定すると、ISSAsynchStatus インターフェイスを使用した非同期操作を実行できます。
SSPROP_MAXBLOBLENGTH
列 : なし
R/W: 読み取り/書き込み
型 : VT_I4
既定値 : プロバイダは、サーバーから返されるテキストのサイズを制限しません。このプロパティの値は、サーバーの最大値に設定されます。たとえば、2147483647 に設定されます。
説明 : SQL Native Client OLE DB プロバイダは SET TEXTSIZE ステートメントを実行して、SELECT ステートメントで返されるバイナリ ラージ オブジェクト (BLOB) データのサイズを制限します。
SSPROP_NOCOUNT_STATUS
列 : NoCount
R/W: 読み取り専用
型 : VT_BOOL
既定値 : VARIANT_FALSE
説明 : SQL Server の SET NOCOUNT ON/OFF の状態を表すブール値です。
VARIANT_TRUE: SET NOCOUNT ON の場合
VARIANT_FALSE: SET NOCOUNT OFF の場合
SSPROP_QP_NOTIFICATION_MSGTEXT
列 : なし
R/W : 読み取り/書き込み
型 : VT_BSTR (許可される文字数 : 1~2,000 文字)
既定値 : 空文字列
説明 : クエリ通知のメッセージ テキストです。これはユーザーが定義するので、定義済みの書式はありません。
SSPROP_QP_NOTIFICATION_OPTIONS
列 : なし
R/W : 読み取り/書き込み
型 : VT_BSTR
既定値 : 空文字列
説明 : クエリ通知オプションです。これらは name=value
形式の文字列で指定されます。ユーザーがサービスを作成して、キューから通知を読み取る必要があります。クエリ通知オプションの構文を次に示します。
service=<service-name>[;(local database=<database>|broker instance=<broker instance>)]
次に例を示します。
service=mySSBService;local database=mydb
SSPROP_QP_NOTIFICATION_TIMEOUT
列 : なし
R/W : 読み取り/書き込み
型 : VT_UI4
既定値 : 432,000 秒 (5 日)
最小値 : 1 秒
最大値 : 2^31-1 秒
説明 : クエリ通知をアクティブのままにしておく秒数です。