SQL Server Native Client での OLE DB テーブル値パラメーター型のサポート (メソッド)
適用対象: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
次の OLE DB 標準メソッドでは、テーブル値パラメーターがサポートされます。
方法 | テーブル値パラメーターのサポート |
---|---|
ITableDefinitionWithConstraints::CreateTableWithConstraints | テーブル値パラメーターの型情報がわかっており、その型情報に基づいてテーブル値パラメーターの行セット オブジェクトのインスタンスを作成する場合に使用します。 詳細については、「テーブル値パラメーターの行セットの作成」の「静的なシナリオ」を参照してください。 |
IOpenRowset::OpenRowset | テーブル値パラメーターの型情報がわかっておらず、サーバーから取得したメタデータ情報に基づいてテーブル値パラメーターの行セット オブジェクトのインスタンスを作成する場合に使用します。 詳細については、「テーブル値パラメーターの行セットの作成」の「動的なシナリオ」を参照してください。 |
ISSCommandWithParameters::SetParameterInfo | テーブル値パラメーターのコマンド パラメーターを指定するには、コンシューマーが DBPARAMBINDINFO 構造体の pwszName メンバーでパラメーターの型を "table" または "DBTYPE_TABLE" として指定します。 ulParamSize は ~ 0 に設定されます。 詳細については、「テーブル値パラメーターを含むコマンドの実行」の「テーブル値パラメーターの指定」を参照してください。 |
ISSCommandWithParameters::SetParameterProperties | スキーマ名、型名、列の順序、既定の列など、テーブル値パラメーター固有のプロパティを設定します。 コンシューマーは、SSPARAMPROPS 構造体の iOrdinal でパラメーターの序数を指定します。 要求されるプロパティ セットは DBPROPSET_SQLSERVERPARAMETER です。 |
ISSCommandWithParameters::GetParameterInfo | 指定されたコマンドのすべてのパラメーターの型を取得します。 テーブル値パラメーターの場合、DBPARAMINFO 構造体の wType フィールドの型は DBTYPE_TABLE になります。 不明な長さを示すために、ulParamSize フィールドは ~0 に設定されます。 |
ISSCommandWithParameters::GetParameterProperties | DBTYPE_TABLE 型のパラメーターの追加の型情報を取得します。 コンシューマーは、SSPARAMPROPS 構造体の iOrdinal メンバーでパラメーターの序数を指定します。 コンシューマーは、ISSCommandWithParameters::SetParameterProperties に一覧表示される DBPROPSET_SQLSERVERPARAMETER プロパティ セットのプロパティを要求できます。 コンシューマーではテーブル値パラメーターの型がわからないため、プロバイダーは SSPROP_PARAM_TYPE_TYPENAME、SSPROP_PARAM_TYPE_SCHEMANAME、および SSPROP_PARAM_TYPE_CATALOGNAME に正しい値を設定する必要があります。 残りのプロパティ、SSPROP_PARAM_TABLE_DEFAULT_COLUMNS および SSPROP_PARAM_TABLE_COLUMN_SORT_ORDER の値は、既定の値になります。 コンシューマーがテーブル値パラメーターの型名を検出した後、IOpenRowset::OpenRowset を使用して、テーブル値パラメーターの名前を指定してこのテーブル値パラメーターのインスタンスを作成します。 詳細については、「テーブル値パラメーターの型探索」を参照してください。 |
IRowsetInfo::GetProperties | テーブル値パラメーターの行セット プロパティを取得します。 コンシューマーはこれらのプロパティを使用して、バインドを最適に設定することができます。 |
IColumnsRowset::GetColumnsRowset | SQL Server テーブルに関するメタデータ情報を取得します。 テーブル値パラメーターの場合、この同じインターフェイスにより、次のような各列に関する詳細なメタデータ情報が提供されます。 DBCOLUMN_FLAGS では、DBCOLUMNFLAGS_ISNULLABLE ビットを使用して NULL 値許容を示します。 DBCOLUMN_ISUNIQUE では、列が ID 列かどうかを示します。 DBCOLUMN_COMPUTEMODE は、列が計算列かどうかを示します。 |
IAccessor::CreateAccessor | テーブル値パラメーターの行セット オブジェクトをコマンド パラメーターにバインドするには、wType メンバーを DBTYPE_TABLE に設定してアクセサーを作成します。 DBOBJECT 構造体には、IID_IRowset または、iid メンバーのその他の有効な行セット オブジェクトのインターフェイスが含まれます。 フィールドの残りの部分は、DBTYPE_IUNKNOWN と同じように扱われます。 |
参照
OLE DB テーブル値パラメーターの型のサポート
テーブル値パラメーターの行セットの作成
テーブル値パラメーターの使用 (OLE DB)
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示