SqlFileStream Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Espone i dati SQL Server archiviati con l'attributo della colonna FILESTREAM come sequenza di byte.
public ref class SqlFileStream sealed : System::IO::Stream
public sealed class SqlFileStream : System.IO.Stream
type SqlFileStream = class
inherit Stream
Public NotInheritable Class SqlFileStream
Inherits Stream
- Ereditarietà
Commenti
La SqlFileStream classe viene utilizzata per utilizzare varbinary(max)
i dati archiviati con l'attributo FILESTREAM in un database SQL Server 2008. Per usare SqlFileStream i dati FILESTREAM, è necessario installare .NET Framework 3.5 SP1 (o versione successiva).
Se si specifica l'attributo FILESTREAM in una varbinary(max)
colonna, SQL Server archivia i dati nel file system NTFS locale anziché nel file di database. Le istruzioni Transact-SQL forniscono funzionalità di manipolazione dei dati all'interno del server e le interfacce del file system Win32 forniscono l'accesso in streaming ai dati.
Nota
I singoli file archiviati in una colonna FILESTREAM non possono essere aperti direttamente dal file system NTFS. I dati FILESTREAM di streaming funzionano solo nel contesto di una transazione SQL Server.
La SqlFileStream classe è derivata dalla Stream classe , che rappresenta un'astrazione di una sequenza di byte da un'origine dati arbitraria, ad esempio un file o un blocco di memoria. È possibile leggere da un fileSTREAM trasferendo i dati da un flusso a una struttura di dati, ad esempio una matrice di byte. È possibile scrivere in un file FILESTREAM trasferendo i dati da una struttura di dati in un flusso. È anche possibile cercare all'interno del flusso, che consente di eseguire query e modificare i dati nella posizione corrente all'interno del flusso.
Per la documentazione concettuale e gli esempi di codice, vedere Dati FILESTREAM.
Per la documentazione sulla configurazione e la configurazione dei dati FILESTREAM in SQL Server, vedere Progettazione e implementazione dell'archiviazione FILESTREAM nella documentazione online di SQL Server 2008.
Costruttori
SqlFileStream(String, Byte[], FileAccess) |
Inizializza una nuova istanza della classe SqlFileStream. |
SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64) |
Inizializza una nuova istanza della classe SqlFileStream. |
Proprietà
CanRead |
Ottiene un valore che indica se il flusso corrente supporta la lettura. |
CanSeek |
Ottiene un valore che indica se il flusso corrente supporta la ricerca. |
CanTimeout |
Ottiene un valore che indica se il flusso corrente prevede il timeout. |
CanWrite |
Ottiene un valore che indica se il flusso corrente supporta la scrittura. |
Length |
Ottiene un valore che indica la lunghezza del flusso corrente in byte. |
Name |
Ottiene il percorso logico dell'oggetto SqlFileStream passato al costruttore. |
Position |
Ottiene o imposta la posizione all'interno del flusso corrente. |
ReadTimeout |
Ottiene o imposta un valore, in millisecondi, che determina per quanto tempo il flusso tenterà la lettura prima del timeout. |
TransactionContext |
Ottiene o imposta il contesto di transazione per questo oggetto SqlFileStream. |
WriteTimeout |
Ottiene o imposta un valore, in millisecondi, che determina per quanto tempo il flusso tenterà la scrittura prima del timeout. |
Metodi
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Inizia un'operazione di lettura asincrona. |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Inizia un'operazione di scrittura asincrona. |
Close() |
Chiude il flusso corrente e libera le risorse, come socket e handle di file, ad esso associate. Anziché chiamare questo metodo, assicurarsi che il flusso sia eliminato correttamente. (Ereditato da Stream) |
CopyTo(Stream) |
Legge i byte dal flusso corrente e li scrive in un altro flusso. Entrambe le posizioni dei flussi sono avanzate in base al numero di byte copiati. (Ereditato da Stream) |
CopyTo(Stream, Int32) |
Legge tutti i byte dal flusso corrente e li scrive in un altro flusso, usando una dimensione di buffer specificata. Entrambe le posizioni dei flussi sono avanzate in base al numero di byte copiati. (Ereditato da Stream) |
CopyToAsync(Stream) |
Legge in modo asincrono i byte dal flusso corrente e li scrive in un altro flusso. Entrambe le posizioni dei flussi sono avanzate in base al numero di byte copiati. (Ereditato da Stream) |
CopyToAsync(Stream, CancellationToken) |
Legge in modo asincrono i byte dal flusso corrente e li scrive in un altro flusso, usando un token di annullamento specificato. Entrambe le posizioni dei flussi sono avanzate in base al numero di byte copiati. (Ereditato da Stream) |
CopyToAsync(Stream, Int32) |
Legge in modo asincrono tutti i byte dal flusso corrente e li scrive in un altro flusso, utilizzando una dimensione di buffer specificata. Entrambe le posizioni dei flussi sono avanzate in base al numero di byte copiati. (Ereditato da Stream) |
CopyToAsync(Stream, Int32, CancellationToken) |
Legge in modo asincrono i byte dal flusso corrente e li scrive in un altro flusso, usando una dimensione di buffer specificata e un token di annullamento. Entrambe le posizioni dei flussi sono avanzate in base al numero di byte copiati. (Ereditato da Stream) |
CreateObjRef(Type) |
Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto. (Ereditato da MarshalByRefObject) |
CreateWaitHandle() |
Obsoleti.
Obsoleti.
Obsoleti.
Alloca un oggetto WaitHandle. (Ereditato da Stream) |
Dispose() |
Rilascia tutte le risorse usate da Stream. (Ereditato da Stream) |
Dispose(Boolean) |
Rilascia le risorse non gestite usate da Stream e, facoltativamente, le risorse gestite. (Ereditato da Stream) |
DisposeAsync() |
Consente di liberare in modo asincrono le risorse non gestite utilizzate da Stream. (Ereditato da Stream) |
EndRead(IAsyncResult) |
Attende il completamento della lettura asincrona in sospeso. |
EndWrite(IAsyncResult) |
Termina un'operazione di scrittura asincrona. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Finalize() |
Garantisce che le risorse vengano liberate e le altre operazioni di pulizia vengano completate quando l'oggetto SqlFileStream viene recuperato da Garbage Collector. |
Flush() |
Cancella tutti i buffer relativi al flusso e determina la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante. |
FlushAsync() |
Cancella in modo asincrono i dati di tutti i buffer del flusso e determina la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante. (Ereditato da Stream) |
FlushAsync(CancellationToken) |
Cancella in modo asincrono i dati di tutti i buffer del flusso, determina la scrittura dei dati memorizzati nel buffer nel dispositivo sottostante e monitora le richieste di annullamento. (Ereditato da Stream) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetLifetimeService() |
Obsoleti.
Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza. (Ereditato da MarshalByRefObject) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
InitializeLifetimeService() |
Obsoleti.
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
MemberwiseClone(Boolean) |
Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject) |
ObjectInvariant() |
Obsoleti.
Fornisce supporto per un oggetto Contract. (Ereditato da Stream) |
Read(Byte[], Int32, Int32) |
Legge una sequenza di byte dal flusso corrente e fa avanzare la posizione nel flusso del numero di byte letti. |
Read(Span<Byte>) |
Quando ne viene eseguito l'override in una classe derivata, legge una sequenza di byte dal flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte letti. (Ereditato da Stream) |
ReadAsync(Byte[], Int32, Int32) |
Legge in modo asincrono una sequenza di byte dal flusso corrente e passa alla posizione successiva nel flusso in base al numero di byte letti. (Ereditato da Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Legge in modo asincrono una sequenza di byte dal flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte letti e monitora le richieste di annullamento. (Ereditato da Stream) |
ReadAsync(Memory<Byte>, CancellationToken) |
Legge in modo asincrono una sequenza di byte dal flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte letti e monitora le richieste di annullamento. (Ereditato da Stream) |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
Legge almeno un numero minimo di byte dal flusso corrente e sposta in avanti la posizione all'interno del flusso in base al numero di byte letti. (Ereditato da Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Legge in modo asincrono almeno un numero minimo di byte dal flusso corrente, sposta in avanti la posizione all'interno del flusso in base al numero di byte letti e monitora le richieste di annullamento. (Ereditato da Stream) |
ReadByte() |
Legge un byte dal flusso e sposta in avanti la posizione corrente all'interno del flusso di un byte o restituisce -1 se si trova alla fine del flusso. |
ReadExactly(Byte[], Int32, Int32) |
|
ReadExactly(Span<Byte>) |
Legge i byte dal flusso corrente e sposta in avanti la posizione all'interno del flusso fino a quando non viene riempito. |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Legge in modo asincrono |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Legge in modo asincrono i byte dal flusso corrente, sposta la posizione all'interno del flusso fino a quando non |
Seek(Int64, SeekOrigin) |
Imposta la posizione all'interno del flusso corrente. |
SetLength(Int64) |
Imposta la lunghezza del flusso corrente. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Write(Byte[], Int32, Int32) |
Scrive una sequenza di byte nel flusso corrente e fa avanzare la posizione corrente nel flusso del numero di byte scritti. |
Write(ReadOnlySpan<Byte>) |
Quando ne viene eseguito l'override in una classe derivata, scrive una sequenza di byte nel flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte scritti. (Ereditato da Stream) |
WriteAsync(Byte[], Int32, Int32) |
Scrive in modo asincrono una sequenza di byte nel flusso corrente e passa alla posizione successiva nel flusso in base al numero di byte scritti. (Ereditato da Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Scrive in modo asincrono una sequenza di byte nel flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte scritti e monitora le richieste di annullamento. (Ereditato da Stream) |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Scrive in modo asincrono una sequenza di byte nel flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte scritti e monitora le richieste di annullamento. (Ereditato da Stream) |
WriteByte(Byte) |
Scrive un byte nella posizione corrente del flusso e sposta in avanti di un byte la posizione del flusso. |
Metodi di estensione
CopyToAsync(Stream, PipeWriter, CancellationToken) |
Legge in modo asincrono i byte da Stream e li scrive nel PipeWriter specificato usando un token di annullamento. |