SqlFileStream Oluşturucular

Tanım

SqlFileStream sınıfının yeni bir örneğini başlatır.

Aşırı Yüklemeler

SqlFileStream(String, Byte[], FileAccess)

SqlFileStream sınıfının yeni bir örneğini başlatır.

SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64)

SqlFileStream sınıfının yeni bir örneğini başlatır.

Açıklamalar

Aşağıdaki tabloda, yığındaki tüm çağıranların oluşturucuları kullanması SqlFileStream için gereken kod erişim güvenliği (CAS) izinleri listelenir.

Dosya erişimi İzin
Okuma Read
Yazma Write
ReadWrite Read ve Write

CAS hakkında daha fazla bilgi için bkz. Kod Erişimi Güvenliği ve ADO.NET.

SqlFileStream(String, Byte[], FileAccess)

SqlFileStream sınıfının yeni bir örneğini başlatır.

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)

Parametreler

path
String

Dosyanın mantıksal yolu. Yol, tablodaki temel FILESTREAM sütunundaki Transact-SQL Pathname işlevi kullanılarak alınabilir.

transactionContext
Byte[]

Nesnenin işlem bağlamı SqlFileStream . Uygulamalar, GET_FILESTREAM_TRANSACTION_CONTEXT yöntemini çağırarak döndürülen bayt dizisini döndürmelidir.

access
FileAccess

Dosyayı açarken kullanılacak erişim modu. Desteklenen FileAccess numaralandırma değerleri , Writeve ReadWrite'tirRead.

kullanırkenFileAccess.ReadSqlFileStream, nesnesi var olan tüm verileri okumak için kullanılabilir.

kullanırken FileAccess.WriteSqlFileStream sıfır bayt dosyasına işaret etmektedir. Nesne kapatıldığında ve işlem işlendiğinde mevcut verilerin üzerine yazılır.

kullanılırken FileAccess.ReadWrite, SqlFileStream içindeki tüm verilerin bulunduğu bir dosyaya işaret eder. Tanıtıcı, dosyanın başına konumlandırılır. Yeni veri yazmak veya eklemek için dosya içindeki tanıtıcı konumunu taşımak için yöntemlerden birini System.IOSeek kullanabilirsiniz.

Özel durumlar

path null başvurudur veya transactionContext nulldur.

path boş bir dizedir (""), yalnızca boşluk içerir veya bir veya daha fazla geçersiz karakter içerir.

path "\\.\" ile başlar, örneğin "\\.\PHYSICALDRIVE0".

NTCreateFile çağrısı tarafından döndürülen tanıtıcı FILE_TYPE_DISK türünde değil.

options desteklenmeyen bir değer içerir.

Dosya bulunamıyor.

G/ç hatası oluştu.

Çağıranın gerekli izni yok.

Belirtilen path geçersiz, örneğin eşlenmemiş bir sürücüde olmak.

İstenen erişim, belirtilen yol için işletim sistemi tarafından izin verilmiyor. Yazma veya Okuma Yazma erişimi belirtildiğinde ve dosya veya dizin salt okunur erişim için ayarlandığında bu durum oluşur.

NtCreateFile, ERROR_SHARING_VIOLATION olarak ayarlanmış hata koduyla başarısız oluyor.

Açıklamalar

Özel durum oluşursa, tüm açık işlemler geri alınmalıdır. Aksi takdirde veri kaybı oluşabilir.

Ayrıca bkz.

Şunlara uygulanır

SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64)

SqlFileStream sınıfının yeni bir örneğini başlatır.

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)

Parametreler

path
String

Dosyanın mantıksal yolu. Yol, tablodaki temel FILESTREAM sütunundaki Transact-SQL Pathname işlevi kullanılarak alınabilir.

transactionContext
Byte[]

Nesnenin işlem bağlamı SqlFileStream . null olarak ayarlandığında, nesne için SqlFileStream örtük bir işlem kullanılır. Uygulamalar, GET_FILESTREAM_TRANSACTION_CONTEXT yöntemini çağırarak döndürülen bayt dizisini döndürmelidir.

access
FileAccess

Dosyayı açarken kullanılacak erişim modu. Desteklenen FileAccess numaralandırma değerleri , Writeve ReadWrite'tirRead.

kullanırkenFileAccess.ReadSqlFileStream, nesnesi var olan tüm verileri okumak için kullanılabilir.

kullanırken FileAccess.WriteSqlFileStream sıfır bayt dosyasına işaret etmektedir. Nesne kapatıldığında ve işlem işlendiğinde mevcut verilerin üzerine yazılır.

kullanılırken FileAccess.ReadWrite, SqlFileStream içindeki tüm verilerin bulunduğu bir dosyaya işaret eder. Tanıtıcı, dosyanın başına konumlandırılır. Yeni veri yazmak veya eklemek için dosya içindeki tanıtıcı konumunu taşımak için yöntemlerden birini System.IOSeek kullanabilirsiniz.

options
FileOptions

Dosyayı açarken kullanılacak seçeneği belirtir. Desteklenen FileOptions değerler , WriteThrough, SequentialScanve RandomAccessdeğerleridirAsynchronous.

allocationSize
Int64

Dosya oluştururken kullanılacak ayırma boyutu. 0 olarak ayarlanırsa, varsayılan değer kullanılır.

Özel durumlar

path null başvurudur veya transactionContext nulldur.

path boş bir dizedir (""), yalnızca boşluk içerir veya bir veya daha fazla geçersiz karakter içerir.

path "\\.\" ile başlar, örneğin "\\.\PHYSICALDRIVE0".

NTCreateFile çağrısı tarafından döndürülen tanıtıcı FILE_TYPE_DISK türünde değil.

options desteklenmeyen bir değer içerir.

Dosya bulunamıyor.

G/ç hatası oluştu.

Çağıranın gerekli izni yok.

Belirtilen path geçersiz, örneğin eşlenmemiş bir sürücüde olmak.

İstenen erişim, belirtilen yol için işletim sistemi tarafından izin verilmiyor. Yazma veya Okuma Yazma erişimi belirtildiğinde ve dosya veya dizin salt okunur erişim için ayarlandığında bu durum oluşur.

NtCreateFile, ERROR_SHARING_VIOLATION olarak ayarlanmış hata koduyla başarısız oluyor.

Açıklamalar

Özel durum oluşursa, tüm açık işlemler geri alınmalıdır. Aksi takdirde veri kaybı oluşabilir.

Ayrıca bkz.

Şunlara uygulanır