FILESTREAM のサポート (OLE DB)
SQL SERVER 2008 および SQL Server Native Client 10.0 以降、OLE DB では拡張 FILESTREAM 機能がサポートされています。 この機能の詳細については、「 FILESTREAM サポート」を参照してください。 サンプルについては、「FILESTREAM と OLE DB」を参照してください。
アプリケーションで 2 GB より大きい varbinary(max)
値を送受信するには、パラメーターと結果のバインドで DBTYPE_IUNKNOWN
を使用します。 パラメーターの場合、プロバイダーは ISequentialStream および ISequentialStream を返す結果に対して IUnknown::QueryInterface を呼び出す必要があります。
OLE DB の場合は、ISequentialStream 値に関連するチェックが緩和されます。 wType がDBTYPE_IUNKNOWN
構造体内にあるDBBINDING
場合は、dwPart を省略DBPART_LENGTH
するか、データの長さを (データ バッファー内のオフセット obLength で) ~0 に設定することで、長さのチェックを無効にすることができます。 この場合、プロバイダーは値の長さをチェックせず、ストリームで利用可能なすべてのデータを要求し、返します。 この変更は、すべてのラージ オブジェクト (LOB) 型と XML に適用されますが、SQL Server 2005 (またはそれ以降) のサーバーに接続されている場合にのみ適用されます。 これにより、既存のアプリケーションや下位レベルのサーバーとの一貫性や下位互換性を維持しつつ、より柔軟な開発が可能になります。
この変更は、データを転送するすべてのインターフェイス (主に IRowset:: GetData、ICommand:: Execute、および IRowsetFastLoad::InsertRow) に影響します。