Bagikan melalui


SqlFileStream Konstruktor

Definisi

Menginisialisasi instans baru kelas SqlFileStream.

Overload

SqlFileStream(String, Byte[], FileAccess)

Menginisialisasi instans baru kelas SqlFileStream.

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

Menginisialisasi instans baru kelas SqlFileStream.

Keterangan

Tabel berikut mencantumkan izin keamanan akses kode (CAS) yang harus digunakan SqlFileStream oleh semua penelepon dalam tumpukan.

Akses file Izin
Baca Read
Tulis Write
ReadWrite Read dan Write

Untuk informasi selengkapnya tentang CAS, lihat Keamanan Akses Kode dan ADO.NET.

SqlFileStream(String, Byte[], FileAccess)

Menginisialisasi instans baru kelas 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)

Parameter

path
String

Jalur logis ke file. Jalur dapat diambil dengan menggunakan fungsi Transact-SQL Pathname pada kolom FILESTREAM yang mendasar dalam tabel.

transactionContext
Byte[]

Konteks transaksi untuk SqlFileStream objek . Aplikasi harus mengembalikan array byte yang dikembalikan dengan memanggil metode GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

Mode akses yang akan digunakan saat membuka file. Nilai enumerasi yang didukung FileAccess adalah Read, , Writedan ReadWrite.

Saat menggunakan FileAccess.Read, SqlFileStream objek dapat digunakan untuk membaca semua data yang ada.

Saat menggunakan FileAccess.Write, SqlFileStream menunjuk ke file byte nol. Data yang ada akan ditimpa ketika objek ditutup dan transaksi dilakukan.

Saat menggunakan FileAccess.ReadWrite, menunjuk SqlFileStream ke file yang memiliki semua data yang ada di dalamnya. Handel diposisikan di awal file. Anda dapat menggunakan salah System.IOSeek satu metode untuk memindahkan posisi handel dalam file untuk menulis atau menambahkan data baru.

Pengecualian

path adalah referensi null, atau transactionContext null.

path adalah string kosong (""), hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid.

path dimulai dengan "\\.\", misalnya "\\.\PHYSICALDRIVE0 ".

Handel yang dikembalikan oleh panggilan ke NTCreateFile bukan tipe FILE_TYPE_DISK.

options berisi nilai yang tidak didukung.

File tidak dapat ditemukan.

Terjadi kesalahan I/O.

Pemanggil tidak memiliki izin yang diperlukan.

Yang ditentukan path tidak valid, seperti berada pada drive yang tidak dipetakan.

Akses yang diminta tidak diizinkan oleh sistem operasi untuk jalur yang ditentukan. Ini terjadi ketika akses Tulis atau ReadWrite ditentukan, dan file atau direktori diatur untuk akses baca-saja.

NtCreateFile gagal dengan kode kesalahan diatur ke ERROR_SHARING_VIOLATION.

Keterangan

Jika pengecualian dilemparkan, setiap transaksi terbuka harus digulung balik. Jika tidak, kehilangan data dapat terjadi.

Lihat juga

Berlaku untuk

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

Menginisialisasi instans baru kelas 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)

Parameter

path
String

Jalur logis ke file. Jalur dapat diambil dengan menggunakan fungsi Transact-SQL Pathname pada kolom FILESTREAM yang mendasar dalam tabel.

transactionContext
Byte[]

Konteks transaksi untuk SqlFileStream objek . Ketika diatur ke null, transaksi implisit akan digunakan untuk SqlFileStream objek . Aplikasi harus mengembalikan array byte yang dikembalikan dengan memanggil metode GET_FILESTREAM_TRANSACTION_CONTEXT.

access
FileAccess

Mode akses yang akan digunakan saat membuka file. Nilai enumerasi yang didukung FileAccess adalah Read, , Writedan ReadWrite.

Saat menggunakan FileAccess.Read, SqlFileStream objek dapat digunakan untuk membaca semua data yang ada.

Saat menggunakan FileAccess.Write, SqlFileStream menunjuk ke file byte nol. Data yang ada akan ditimpa ketika objek ditutup dan transaksi dilakukan.

Saat menggunakan FileAccess.ReadWrite, menunjuk SqlFileStream ke file yang memiliki semua data yang ada di dalamnya. Handel diposisikan di awal file. Anda dapat menggunakan salah System.IOSeek satu metode untuk memindahkan posisi handel dalam file untuk menulis atau menambahkan data baru.

options
FileOptions

Menentukan opsi yang akan digunakan saat membuka file. Nilai yang didukung FileOptions adalah Asynchronous, WriteThrough, SequentialScan, dan RandomAccess.

allocationSize
Int64

Ukuran alokasi yang digunakan saat membuat file. Jika diatur ke 0, nilai default akan digunakan.

Pengecualian

path adalah referensi null, atau transactionContext null.

path adalah string kosong (""), hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid.

path dimulai dengan "\\.\", misalnya "\\.\PHYSICALDRIVE0 ".

Handel yang dikembalikan oleh panggilan ke NTCreateFile bukan tipe FILE_TYPE_DISK.

options berisi nilai yang tidak didukung.

File tidak dapat ditemukan.

Terjadi kesalahan I/O.

Pemanggil tidak memiliki izin yang diperlukan.

Yang ditentukan path tidak valid, seperti berada pada drive yang tidak dipetakan.

Akses yang diminta tidak diizinkan oleh sistem operasi untuk jalur yang ditentukan. Ini terjadi ketika akses Tulis atau ReadWrite ditentukan, dan file atau direktori diatur untuk akses baca-saja.

NtCreateFile gagal dengan kode kesalahan diatur ke ERROR_SHARING_VIOLATION.

Keterangan

Jika pengecualian dilemparkan, setiap transaksi terbuka harus digulung balik. Jika tidak, kehilangan data dapat terjadi.

Lihat juga

Berlaku untuk