FILESTREAM 支援 (OLE DB)
從 SQL Server 2008 和 SQL Server Native Client 10.0 開始,OLE DB 支援增強型 FILESTREAM 功能。 如需有關這項功能的詳細資訊,請參閱<FILESTREAM 支援>。 如需範例,請參閱<資料流及 OLE DB>。
若要傳送與接收大於 2 GB 的 varbinary(max) 值,應用程式會在參數和結果繫結中使用 DBTYPE_IUNKNOWN。 對於參數,提供者必須針對 ISequentialStream 和傳回 ISequentialStream 的結果,呼叫 IUnknown::QueryInterface。
對於 OLE DB,將會放寬與 ISequentialStream 值相關的檢查。 當 wType 在 DBBINDING 結構中為 DBTYPE_IUNKNOWN 時,從 dwPart 省略 DBPART_LENGTH,或將資料的長度 (在資料緩衝區的位移 obLength 中) 設定為 ~0 會停用長度檢查。 在此情況下,提供者將不會檢查值的長度,而且將會透過資料流要求並傳回所有可用的資料。 這項變更將會套用到所有大型物件 (LOB) 類型與 XML,但是只會在連接到 SQL Server 2005 (或更新版本) 伺服器時才會套用。 這將會提供開發人員更大的彈性,同時維持現有應用程式與下層伺服器的一致性與回溯相容性。
這項變更將會影響傳送資料的所有介面,主要是 IRowset::GetData、ICommand::Execute 和 IRowsetFastLoad::InsertRow。