Share via


SqlFileStream クラス

定義

バイトのシーケンスとして 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、SQL Server 2008 データベースの FILESTREAM 属性と共に格納されたデータを操作varbinary(max)するために使用されます。 FILESTREAM データの操作に使用SqlFileStreamするには、.NET Framework 3.5 SP1 (またはそれ以降) をインストールする必要があります。

列に 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)

SqlFileStream クラスの新しいインスタンスを初期化します。

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

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 バイトを読み取り、ストリーム内の位置を 1 バイト進めます。ストリームの末尾の場合は -1 を返します。

Seek(Int64, SeekOrigin)

現在のストリーム内の位置を設定します。

SetLength(Int64)

現在のストリームの長さを設定します。

Write(Byte[], Int32, Int32)

現在のストリームにバイト シーケンスを書き込み、書き込んだバイト数だけストリーム内の現在位置を進めます。

WriteByte(Byte)

ストリームの現在位置にバイトを書き込み、ストリームの位置を 1 バイトだけ進めます。

適用対象

こちらもご覧ください