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
| Nome | Descrizione |
|---|---|
| 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 dall'accesso di codice (CAS) che tutti i chiamanti nello stack devono usare i SqlFileStream costruttori.
| Accesso ai file | Permission |
|---|---|
| Leggi | Read |
| Scrittura | Write |
| LeggiScrivi | Read e Write |
Per altre informazioni su CAS, vedere Code Access Security and 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 pathname Transact-SQL nella colonna FILESTREAM sottostante della tabella.
- transactionContext
- Byte[]
Contesto della transazione per l'oggetto SqlFileStream . Le applicazioni devono restituire la matrice di byte restituita chiamando il metodo GET_FILESTREAM_TRANSACTION_CONTEXT.
- access
- FileAccess
Modalità di accesso da utilizzare quando si apre il file. I valori di enumerazione supportati FileAccess sono Read, Writee 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 byte zero. I dati esistenti verranno sovrascritti quando l'oggetto viene chiuso e viene eseguito il commit della transazione.
Quando si usa FileAccess.ReadWrite, punta SqlFileStream a un file che contiene tutti i dati esistenti. L'handle viene posizionato all'inizio del file. È possibile utilizzare uno dei System.IOSeek metodi per spostare la posizione dell'handle all'interno del file per scrivere o aggiungere nuovi dati.
Eccezioni
path è un riferimento Null o transactionContext è Null.
path è una stringa vuota (""), contiene solo spazi vuoti o contiene uno o più caratteri non validi.
-OPPURE-
path inizia con "\\.\", ad esempio "\\.\PHYSICALDRIVE0 ".
-OPPURE-
L'handle restituito dalla chiamata a NTCreateFile non è di tipo FILE_TYPE_DISK.
Impossibile trovare il file.
Si è verificato un errore di I/O.
Il chiamante non dispone dell'autorizzazione richiesta.
L'oggetto specificato path non è valido, ad esempio in un'unità non mappata.
L'accesso richiesto non è consentito dal sistema operativo per il percorso specificato. Ciò si verifica quando viene specificato l'accesso write o ReadWrite e il file o la directory è impostata per l'accesso in sola lettura.
NtCreateFile ha esito negativo e il 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 pathname Transact-SQL nella colonna FILESTREAM sottostante della tabella.
- transactionContext
- Byte[]
Contesto della transazione per l'oggetto SqlFileStream . Se impostato su Null, verrà usata una transazione implicita per l'oggetto SqlFileStream . Le applicazioni devono restituire la matrice di byte restituita chiamando il metodo GET_FILESTREAM_TRANSACTION_CONTEXT.
- access
- FileAccess
Modalità di accesso da utilizzare quando si apre il file. I valori di enumerazione supportati FileAccess sono Read, Writee 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 byte zero. I dati esistenti verranno sovrascritti quando l'oggetto viene chiuso e viene eseguito il commit della transazione.
Quando si usa FileAccess.ReadWrite, punta SqlFileStream a un file che contiene tutti i dati esistenti. L'handle viene posizionato all'inizio del file. È possibile utilizzare uno dei System.IOSeek metodi per spostare la posizione dell'handle all'interno del file per scrivere o aggiungere nuovi dati.
- options
- FileOptions
Specifica l'opzione da utilizzare durante l'apertura del file. I valori supportati FileOptions sono Asynchronous, WriteThrough, SequentialScane 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 o transactionContext è Null.
path è una stringa vuota (""), contiene solo spazi vuoti o 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 specificato path non è valido, ad esempio in un'unità non mappata.
L'accesso richiesto non è consentito dal sistema operativo per il percorso specificato. Ciò si verifica quando viene specificato l'accesso write o ReadWrite e il file o la directory è impostata per l'accesso in sola lettura.
NtCreateFile ha esito negativo e il 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.