SqlFileStream Oluşturucular
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.Read
SqlFileStream
, nesnesi var olan tüm verileri okumak için kullanılabilir.
kullanırken FileAccess.Write
SqlFileStream
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.IO
Seek
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.Read
SqlFileStream
, nesnesi var olan tüm verileri okumak için kullanılabilir.
kullanırken FileAccess.Write
SqlFileStream
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.IO
Seek
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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin