SqlFileStream 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
公開使用 FILESTREAM 資料行屬性儲存為位元組序列的 SQL Server 資料。
public ref class SqlFileStream sealed : System::IO::Stream
public sealed class SqlFileStream : System.IO.Stream
type SqlFileStream = class
inherit Stream
Public NotInheritable Class SqlFileStream
Inherits Stream
- 繼承
-
SqlFileStream
備註
類別 SqlFileStream 是用來處理 varbinary(max)
以 FILESTREAM 屬性儲存在 SQL Server 2008 資料庫中的資料。 您必須安裝 .NET Framework 3.5 SP1 (或更新版本) ,才能使用 SqlFileStream FILESTREAM 資料。
在資料行上 varbinary(max)
指定 FILESTREAM 屬性會導致SQL Server將資料儲存在本機 NTFS 檔案系統中,而不是儲存在資料庫檔案中。 Transact-SQL 語句可在伺服器內提供資料操作功能,而 Win32 檔案系統介面則提供資料的串流存取。
注意
儲存在 FILESTREAM 資料行中的個別檔案無法直接從 NTFS 檔案系統開啟。 串流 FILESTREAM 資料僅適用于SQL Server交易的內容。
類別 SqlFileStream 衍生自 Stream 類別,代表來自某些任意資料來源之位元組序列的抽象概念,例如檔案或記憶體區塊。 您可以從 FILESTREAM 讀取資料,方法是將資料從資料流程傳輸到資料結構,例如位元組陣列。 您可以將資料從資料結構傳輸到資料流程,以寫入 FILESTREAM。 您也可以在資料流程中搜尋,這可讓您查詢和修改資料流程中目前位置的資料。
如需概念檔和程式碼範例,請參閱 FILESTREAM 資料。
如需在 SQL Server 上設定 FILESTREAM 資料的相關檔,請參閱《線上叢書》中的 SQL Server 2008《 線上叢書》中的設計和實作 FILESTREAM 儲存體。
建構函式
SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64) |
初始化 SqlFileStream 類別的新執行個體。 |
SqlFileStream(String, Byte[], FileAccess) |
初始化 SqlFileStream 類別的新執行個體。 |
屬性
CanRead |
取得表示目前資料流是否支援讀取的值。 |
CanSeek |
取得表示目前資料流是否支援搜尋的值。 |
CanTimeout |
取得指出目前資料流是否會逾時的值。 |
CanWrite |
取得表示目前資料流是否支援寫入的值。 |
Length |
取得指出目前資料流長度的值 (位元組)。 |
Name |
取得傳遞至建構函式的 SqlFileStream 邏輯路徑。 |
Position |
取得或設定在目前資料流中的位置。 |
ReadTimeout |
取得或設定值 (以毫秒為單位),該值決定資料流在逾時前將嘗試讀取多長時間。 |
TransactionContext |
取得或設定這個 SqlFileStream 物件的異動內容。 |
WriteTimeout |
取得或設定毫秒值,該值決定在逾時前資料流將嘗試寫入多長時間。 |
方法
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
開始非同步的讀取作業。 |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
開始非同步的寫入作業。 |
EndRead(IAsyncResult) |
等候暫止的非同步讀取完成。 |
EndWrite(IAsyncResult) |
結束非同步的寫入作業。 |
Finalize() |
SqlFileStream 類別物件的解構函式。 |
Flush() |
清除這個資料流的所有緩衝區,並造成任何緩衝資料都寫入基礎裝置。 |
Read(Byte[], Int32, Int32) |
從目前的資料流讀取位元組序列,並依讀取的位元組數將資料流中的位置往前移。 |
ReadByte() |
從資料流讀取一個位元組,並將資料流的位置推進一個位元組;如果在資料流末端,則傳回 -1。 |
Seek(Int64, SeekOrigin) |
設定目前資料流位置。 |
SetLength(Int64) |
設定目前資料流的長度。 |
Write(Byte[], Int32, Int32) |
將位元組序列寫入至目前的資料流,並依寫入的位元組數將資料流中目前的位置往前移。 |
WriteByte(Byte) |
寫入一個位元組至資料流的目前位置,並將資料流位置推進一個位元組。 |