Share via


FILESTREAM-Unterstützung (OLE DB)

Seit SQL Server 2008 und SQL Server Native Client 10.0 unterstützt OLE DB die verbesserte FILESTREAM-Funktion. Informationen zu dieser Funktion finden Sie unter FILESTREAM-Unterstützung. Beispiele finden Sie unter FILESTREAM und OLE DB.

Um varbinary(max)-Werte über 2 GB zu senden und zu empfangen, verwendet eine Anwendung DBTYPE_IUNKNOWN in Parameter- und Ergebnisbindungen. Für Parameter muss der Provider IUnknown::QueryInterface und für Ergebnisse ISequentialStream aufrufen, die ISequentialStream zurückgeben.

Für OLE DB wird die auf ISequentialStream-Werte bezogene Überprüfung gelockert. Wenn wType gleich DBTYPE_IUNKNOWN in der DBBINDING-Struktur ist, kann die Längenüberprüfung deaktiviert werden, indem entweder DBPART_LENGTH in dwPart ausgelassen wird oder indem die Länge der Daten (beim Offset obLength im Datenpuffer) auf ~0 festgelegt wird. In diesem Fall überprüft der Provider die Länge des Werts nicht und fordert alle Daten an (oder gibt sie zurück), die über den Datenstrom zur Verfügung stehen. Diese Änderung wird auf alle LOB-Typen (Large Object) und auf XML angewendet, allerdings nur, wenn eine Verbindung zu SQL Server 2005-Servern (oder höher) besteht. Auf diese Weise erhalten Entwickler eine höhere Flexibilität, während sie die Konsistenz und Abwärtskompatibilität für vorhandene Anwendungen und Downlevelserver beibehalten.

Diese Änderung wirkt sich auf alle Schnittstellen aus, die Daten übertragen, hauptsächlich IRowset::GetData, ICommand::Execute und IRowsetFastLoad::InsertRow.

Siehe auch

Andere Ressourcen

Programmierung für SQL Server Native Client