Condividi tramite


Supporto FILESTREAM (OLE DB)

A partire da SQL Server 2008 e SQL Server Native Client 10.0, OLE DB supporta la funzione FILESTREAM avanzata. Per ulteriori informazioni su questa funzionalità, vedere Supporto FILESTREAM.

Per inviare e ricevere valori varbinary(max) maggiori di 2 GB, un'applicazione utilizza DBTYPE_IUNKNOWN in associazioni di parametri e di risultati. Per i parametri il provider deve chiamare IUnknown::QueryInterface per ISequentialStream e per risultati che restituiscono ISequentialStream

Per OLE DB, il controllo correlato ai valori ISequentialStream non è assoluto. Quando wType è DBTYPE_IUNKNOWN nella struttura DBBINDING, è possibile disabilitare il controllo della lunghezza omettendo DBPART_LENGTH da dwPart o impostando la lunghezza dei dati (all'offset obLength nel buffer di dati) su ~ 0. In questo caso, il provider non controllerà la lunghezza del valore e richiederà e restituirà tutti i dati disponibili tramite il flusso. Questa modifica verrà applicata a tutti i tipi LOB (Large Object) e XML, ma solo in caso di connessione a server SQL Server 2005 o versione successiva. In questo modo, gli sviluppatori disporranno di maggiore flessibilità, mantenendo la coerenza e la compatibilità con le versioni precedenti per applicazioni esistenti e server legacy.

Questa modifica interessa tutte le interfacce che trasferiscono dati, in particolare IRowset::GetData, ICommand::Execute e IRowsetFastLoad::InsertRow.