FILESTREAM-Unterstützung (OLE DB)
Ab SQL Server 2008 und SQL Server Native Client 10.0 unterstützt OLE DB das erweiterte FILESTREAM-Feature. Weitere Informationen zu diesem Feature 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. Der Anbieter muss für Parameter IUnknown::QueryInterface für ISequentialStream und für Ergebnisse abrufen, die ISequentialStream zurückgeben.
Für OLE DB wird die auf ISequentialStream-Werte bezogene Überprüfung gelockert. Wenn wType in der Struktur vorhanden istDBTYPE_IUNKNOWN
, kann die DBBINDING
Längenüberprüfung deaktiviert werden, indem entweder dwPart weggelassen DBPART_LENGTH
oder die Länge der Daten (bei 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 XML angewendet, jedoch nur, wenn eine Verbindung mit SQL Server 2005-Servern (oder höher) hergestellt wird. 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).