SqlFileStream Costruttori
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.
Inizializza una nuova istanza della classe SqlFileStream.
Overload
SqlFileStream(String, Byte[], FileAccess) |
Inizializza una nuova istanza della classe SqlFileStream. |
SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64) |
Inizializza una nuova istanza della classe SqlFileStream. |
Commenti
Nella tabella seguente sono elencate le autorizzazioni di sicurezza di accesso al codice che tutti i chiamanti nello stack devono usare i SqlFileStream
costruttori.
Accesso ai file | Autorizzazione |
---|---|
Lettura | Read |
Scrittura | Write |
ReadWrite | Read e Write |
Per altre informazioni su CAS, vedere Sicurezza di accesso al codice e ADO.NET.
SqlFileStream(String, Byte[], FileAccess)
Inizializza una nuova istanza della classe SqlFileStream.
public:
SqlFileStream(System::String ^ path, cli::array <System::Byte> ^ transactionContext, System::IO::FileAccess access);
public SqlFileStream (string path, byte[] transactionContext, System.IO.FileAccess access);
new System.Data.SqlTypes.SqlFileStream : string * byte[] * System.IO.FileAccess -> System.Data.SqlTypes.SqlFileStream
Public Sub New (path As String, transactionContext As Byte(), access As FileAccess)
Parametri
- path
- String
Percorso logico del file. Il percorso può essere recuperato usando la funzione Transact-SQL Pathname o la colonna FILESTREAM sottostante nella tabella.
- transactionContext
- Byte[]
Contesto di transazione per l'oggetto SqlFileStream
. Le applicazioni devono restituire la matrice di byte restituita dalla chiamata del metodo GET_FILESTREAM_TRANSACTION_CONTEXT.
- access
- FileAccess
Modalità di accesso usata per l'apertura del file. I valori dell'enumerazione FileAccess supportati sono Read, Write e ReadWrite.
Quando si usa FileAccess.Read
, l'oggetto SqlFileStream
può essere usato per leggere tutti i dati esistenti.
Quando si usa FileAccess.Write
, SqlFileStream
punta a un file di zero byte. I dati esistenti verranno sovrascritti quando l'oggetto viene chiuso e viene eseguito il commit della transazione.
Quando si usa FileAccess.ReadWrite
, SqlFileStream
punta a un file che contiene tutti i dati esistenti. L'handle è posizionato all'inizio del file. È possibile usare uno dei metodi System.IO
Seek
per spostare la posizione dell'handle all'interno del file per scrivere o aggiungere nuovi dati.
Eccezioni
path
è un riferimento Null oppure transactionContext
è Null.
path
è una stringa vuota (""), contiene solo spazi vuoti oppure contiene uno o più caratteri non validi.
path
inizia con "\\.\", ad esempio "\\.\PHYSICALDRIVE0 ".
L'handle restituito dalla chiamata a NTCreateFile non è di tipo FILE_TYPE_DISK.
options
contiene un valore non supportato.
Impossibile trovare il file.
Si è verificato un errore di I/O.
Il chiamante non dispone dell'autorizzazione richiesta.
L'oggetto path
specificato non è valido, ad esempio si trova in un'unità non mappata.
L'accesso richiesto non è consentito dal sistema operativo per il percorso specificato. Questo problema si verifica quando è specificato l'accesso Write o ReadWrite e la directory o il file è impostato per l'accesso in sola lettura.
NtCreateFile non riesce con codice di errore impostato su ERROR_SHARING_VIOLATION.
Commenti
Se viene generata un'eccezione, è necessario eseguire il rollback di tutte le transazioni aperte. In caso contrario, la perdita di dati può verificarsi.
Vedi anche
Si applica a
SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64)
Inizializza una nuova istanza della classe SqlFileStream.
public:
SqlFileStream(System::String ^ path, cli::array <System::Byte> ^ transactionContext, System::IO::FileAccess access, System::IO::FileOptions options, long allocationSize);
public SqlFileStream (string path, byte[] transactionContext, System.IO.FileAccess access, System.IO.FileOptions options, long allocationSize);
new System.Data.SqlTypes.SqlFileStream : string * byte[] * System.IO.FileAccess * System.IO.FileOptions * int64 -> System.Data.SqlTypes.SqlFileStream
Public Sub New (path As String, transactionContext As Byte(), access As FileAccess, options As FileOptions, allocationSize As Long)
Parametri
- path
- String
Percorso logico del file. Il percorso può essere recuperato usando la funzione Transact-SQL Pathname o la colonna FILESTREAM sottostante nella tabella.
- transactionContext
- Byte[]
Contesto di transazione per l'oggetto SqlFileStream
. Se impostato su null, per l'oggetto SqlFileStream
verrà usata una transazione implicita. Le applicazioni devono restituire la matrice di byte restituita dalla chiamata del metodo GET_FILESTREAM_TRANSACTION_CONTEXT.
- access
- FileAccess
Modalità di accesso usata per l'apertura del file. I valori dell'enumerazione FileAccess supportati sono Read, Write e ReadWrite.
Quando si usa FileAccess.Read
, l'oggetto SqlFileStream
può essere usato per leggere tutti i dati esistenti.
Quando si usa FileAccess.Write
, SqlFileStream
punta a un file di zero byte. I dati esistenti verranno sovrascritti quando l'oggetto viene chiuso e viene eseguito il commit della transazione.
Quando si usa FileAccess.ReadWrite
, SqlFileStream
punta a un file che contiene tutti i dati esistenti. L'handle è posizionato all'inizio del file. È possibile usare uno dei metodi System.IO
Seek
per spostare la posizione dell'handle all'interno del file per scrivere o aggiungere nuovi dati.
- options
- FileOptions
Specifica l'opzione da usare durante l'apertura del file. I valori di FileOptions supportati sono Asynchronous, WriteThrough, SequentialScan e RandomAccess.
- allocationSize
- Int64
Dimensioni di allocazione da usare durante la creazione di un file. Se impostato su 0, viene usato il valore predefinito.
Eccezioni
path
è un riferimento Null oppure transactionContext
è Null.
path
è una stringa vuota (""), contiene solo spazi vuoti oppure contiene uno o più caratteri non validi.
path
inizia con "\\.\", ad esempio "\\.\PHYSICALDRIVE0 ".
L'handle restituito dalla chiamata a NTCreateFile non è di tipo FILE_TYPE_DISK.
options
contiene un valore non supportato.
Impossibile trovare il file.
Si è verificato un errore di I/O.
Il chiamante non dispone dell'autorizzazione richiesta.
L'oggetto path
specificato non è valido, ad esempio si trova in un'unità non mappata.
L'accesso richiesto non è consentito dal sistema operativo per il percorso specificato. Questo problema si verifica quando è specificato l'accesso Write o ReadWrite e la directory o il file è impostato per l'accesso in sola lettura.
NtCreateFile non riesce con codice di errore impostato su ERROR_SHARING_VIOLATION.
Commenti
Se viene generata un'eccezione, è necessario eseguire il rollback di tutte le transazioni aperte. In caso contrario, la perdita di dati può verificarsi.