SqlFileStream 클래스

정의

FILESTREAM 열 특성을 사용해서 바이트 시퀀스로 저장된 SQL Server 데이터를 노출합니다.Exposes SQL Server data that is stored with the FILESTREAM column attribute as a sequence of bytes.

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 클래스는 SQL Server 2008 데이터베이스에 FILESTREAM 특성을 사용 하 여 저장 된 varbinary(max) 데이터를 사용 하는 데 사용 됩니다.The SqlFileStream class is used to work with varbinary(max) data stored with the FILESTREAM attribute in a SQL Server 2008 database. SqlFileStream를 사용 하 여 FILESTREAM 데이터로 작업 하려면 .NET Framework 3.5 SP1 이상 버전을 설치 해야 합니다.You must install the .NET Framework 3.5 SP1 (or later) to use SqlFileStream to work with FILESTREAM data.

varbinary(max) 열에 FILESTREAM 특성을 지정 하면 SQL Server는 데이터베이스 파일 대신 로컬 NTFS 파일 시스템에 데이터를 저장 합니다.Specifying the FILESTREAM attribute on a varbinary(max) column causes SQL Server to store the data in the local NTFS file system instead of in the database file. 서버 내에서 데이터 조작 기능을 제공 하는 TRANSACT-SQL 문 및 Win32 파일 시스템 인터페이스는 데이터에 대 한 스트리밍 액세스를 제공 합니다.Transact-SQL statements provide data manipulation capabilities within the server, and Win32 file system interfaces provide streaming access to the data.

참고

FILESTREAM 열에 저장 된 개별 파일은 NTFS 파일 시스템에서 직접 열 수 없습니다.Individual files stored in a FILESTREAM column cannot be opened directly from the NTFS file system. 스트리밍 FILESTREAM 데이터를 SQL Server 트랜잭션 컨텍스트 에서만에서 작동 합니다.Streaming FILESTREAM data works only in the context of a SQL Server transaction.

SqlFileStream 클래스는 파일 또는 메모리 블록과 같은 임의의 데이터 원본의 바이트 시퀀스에 대 한 추상화를 나타내는 Stream 클래스에서 파생 됩니다.The SqlFileStream class is derived from the Stream class, which represents an abstraction of a sequence of bytes from some arbitrary data source such as a file or a block of memory. 스트림에서 바이트 배열과 같은 데이터 구조에 데이터를 전송 하 여 FILESTREAM에서 읽을 수 있습니다.You can read from a FILESTREAM by transferring data from a stream into a data structure such as an array of bytes. FILESTREAM에 대 한 데이터 구조에서 스트림으로 데이터를 전송 하 여 작성할 수 있습니다.You can write to a FILESTREAM by transferring the data from a data structure into a stream. 쿼리 및 스트림 내의 현재 위치에서 데이터를 수정할 수 있는 스트림 내에서 시도할 수도 있습니다.You can also seek within the stream, which allows you to query and modify data at the current position within the stream.

개념 설명서 및 코드 예제는 FILESTREAM 데이터를 참조 하세요.For conceptual documentation and code examples, see FILESTREAM Data.

SQL Server에서 FILESTREAM 데이터를 설정 및 구성하는 방법에 대한 설명서는 SQL Server 2008 Books Online에서 FILESTREAM 스토리지 디자인 및 구현을 참조하세요.For documentation about setting up and configuring FILESTREAM data on SQL Server, see Designing and Implementing FILESTREAM Storage in SQL Server 2008 Books Online.

생성자

SqlFileStream(String, Byte[], FileAccess)

SqlFileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the SqlFileStream class.

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

SqlFileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the SqlFileStream class.

속성

CanRead

현재 스트림에서 읽기를 지원하는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the current stream supports reading.

CanSeek

현재 스트림에서 검색을 지원하는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the current stream supports seeking.

CanTimeout

현재 스트림이 시간 초과될 수 있는지를 나타내는 값을 가져옵니다.Gets a value indicating whether the current stream can time out.

CanWrite

현재 스트림에서 쓰기를 지원하는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the current stream supports writing.

Length

현재 스트림 길이(바이트)를 나타내는 값을 가져옵니다.Gets a value indicating the length of the current stream in bytes.

Name

생성자에 전달된 SqlFileStream의 논리 경로를 가져옵니다.Gets the logical path of the SqlFileStream passed to the constructor.

Position

현재 스트림 내의 위치를 가져오거나 설정합니다.Gets or sets the position within the current stream.

ReadTimeout

스트림이 시간 초과 전 읽기를 시도할 기간을 결정하는 값(밀리초)을 가져오거나 설정합니다.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

TransactionContext

SqlFileStream 개체의 트랜잭션 컨텍스트를 가져오거나 설정합니다.Gets or sets the transaction context for this SqlFileStream object.

WriteTimeout

스트림이 시간 초과 전 쓰기를 시도할 기간을 결정하는 값(밀리초)을 가져오거나 설정합니다.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

메서드

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

비동기 읽기 작업을 시작합니다.Begins an asynchronous read operation.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

비동기 쓰기 작업을 시작합니다.Begins an asynchronous write operation.

Close()

현재 스트림을 닫고 현재 스트림과 관련된 소켓과 파일 핸들 등의 리소스를 모두 해제합니다.Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. 이 메서드를 호출하는 대신 스트림이 올바르게 삭제되었는지 확인합니다.Instead of calling this method, ensure that the stream is properly disposed.

(다음에서 상속됨 Stream)
CopyTo(Stream)

현재 스트림에서 바이트를 읽어서 다른 스트림에 해당 바이트를 씁니다.Reads the bytes from the current stream and writes them to another stream.

(다음에서 상속됨 Stream)
CopyTo(Stream, Int32)

현재 스트림에서 바이트를 읽어서 지정된 버퍼 크기로 다른 스트림에 씁니다.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(다음에서 상속됨 Stream)
CopyToAsync(Stream)

현재 스트림에서 모든 바이트를 비동기적으로 읽어 다른 스트림에 씁니다.Asynchronously reads the bytes from the current stream and writes them to another stream.

(다음에서 상속됨 Stream)
CopyToAsync(Stream, CancellationToken)

현재 스트림에서 바이트를 비동기적으로 읽어 지정된 취소 토큰을 사용하여 다른 스트림에 씁니다.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(다음에서 상속됨 Stream)
CopyToAsync(Stream, Int32)

현재 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기로 다른 스트림에 씁니다.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(다음에서 상속됨 Stream)
CopyToAsync(Stream, Int32, CancellationToken)

현재 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기 및 취소 토큰을 사용하여 다른 스트림에 씁니다.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(다음에서 상속됨 Stream)
CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(다음에서 상속됨 MarshalByRefObject)
CreateWaitHandle()

WaitHandle 개체를 할당합니다.Allocates a WaitHandle object.

(다음에서 상속됨 Stream)
Dispose()

Stream에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Stream.

(다음에서 상속됨 Stream)
Dispose(Boolean)

Stream에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.Releases the unmanaged resources used by the Stream and optionally releases the managed resources.

(다음에서 상속됨 Stream)
DisposeAsync()

Stream에서 사용하는 관리되지 않는 리소스를 비동기적으로 해제합니다.Asynchronously releases the unmanaged resources used by the Stream.

(다음에서 상속됨 Stream)
EndRead(IAsyncResult)

보류 중인 비동기 읽기가 완료될 때까지 기다립니다.Waits for the pending asynchronous read to complete.

EndWrite(IAsyncResult)

비동기 쓰기 작업을 종료합니다.Ends an asynchronous write operation.

Equals(Object)

지정한 개체가 현재 개체와 같은지를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
Finalize()

가비지 수집기에서 SqlFileStream을 회수할 때 리소스가 해제되고 다른 정리 작업이 수행되도록 합니다.Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the SqlFileStream.

Flush()

이 스트림에 대한 모든 버퍼를 지우고 버퍼링된 모든 데이터가 내부 디바이스에 비동기적으로 쓰여지도록 합니다.clears all buffers for this stream and causes any buffered data to be written to the underlying device.

FlushAsync()

이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 모든 데이터가 내부 디바이스에 비동기적으로 쓰여지도록 합니다.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(다음에서 상속됨 Stream)
FlushAsync(CancellationToken)

이 스트림에 대해 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 내부 디바이스에 쓰여지도록 하고 취소 요청을 모니터링합니다.Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

(다음에서 상속됨 Stream)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetLifetimeService()

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(다음에서 상속됨 MarshalByRefObject)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
InitializeLifetimeService()

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.Creates a shallow copy of the current MarshalByRefObject object.

(다음에서 상속됨 MarshalByRefObject)
ObjectInvariant()

Contract에 대한 지원을 제공합니다.Provides support for a Contract.

(다음에서 상속됨 Stream)
Read(Byte[], Int32, Int32)

현재 스트림에서 바이트 시퀀스를 읽고 읽은 바이트 수만큼 스트림에서 위치를 앞으로 이동합니다.Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

Read(Span<Byte>)

파생 클래스에서 재정의되면 현재 스트림에서 바이트의 시퀀스를 읽고, 읽은 바이트 수만큼 스트림 내에서 앞으로 이동합니다.When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(다음에서 상속됨 Stream)
ReadAsync(Byte[], Int32, Int32)

현재 스트림에서 바이트 시퀀스를 읽고 읽은 바이트 수만큼 스트림에서 위치를 비동기적으로 앞으로 이동합니다.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(다음에서 상속됨 Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

현재 스트림에서 바이트의 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동하며 취소 요청을 모니터링합니다.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(다음에서 상속됨 Stream)
ReadAsync(Memory<Byte>, CancellationToken)

현재 스트림에서 바이트의 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동하며 취소 요청을 모니터링합니다.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(다음에서 상속됨 Stream)
ReadByte()

스트림에서 바이트를 읽고 스트림 내 위치를 한 바이트씩 앞으로 이동하거나 스트림 끝일 경우 -1을 반환합니다.Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.

Seek(Int64, SeekOrigin)

현재 스트림 내의 위치를 설정합니다.Sets the position within the current stream.

SetLength(Int64)

현재 스트림의 길이를 설정합니다.Sets the length of the current stream.

ToString()

현재 개체를 나타내는 string을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)
Write(Byte[], Int32, Int32)

현재 스트림에 바이트 시퀀스를 쓰고 쓴 바이트 수만큼 이 스트림에서 현재 위치를 앞으로 이동합니다.Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

Write(ReadOnlySpan<Byte>)

파생 클래스를 재정의될 때 현재 스트림에 바이트의 시퀀스를 쓰고 쓰여진 바이트 수만큼 이 스트림 내에서 앞으로 이동합니다.When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(다음에서 상속됨 Stream)
WriteAsync(Byte[], Int32, Int32)

현재 스트림에 바이트 시퀀스를 비동기적으로 쓰고 쓴 바이트 수만큼 이 스트림에서 현재 위치를 앞으로 이동합니다.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(다음에서 상속됨 Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(다음에서 상속됨 Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(다음에서 상속됨 Stream)
WriteByte(Byte)

스트림의 현재 위치에 바이트를 쓰고 스트림 내 위치를 1바이트씩 앞으로 이동합니다.Writes a byte to the current position in the stream and advances the position within the stream by one byte.

명시적 인터페이스 구현

IDisposable.Dispose()

Stream에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Stream.

(다음에서 상속됨 Stream)

확장 메서드

CopyToAsync(Stream, PipeWriter, CancellationToken)

Stream의 바이트를 비동기식으로 읽고 취소 토큰을 사용하여 지정된 PipeWriter에 씁니다.Asynchronously reads the bytes from the Stream and writes them to the specified PipeWriter, using a cancellation token.

AsInputStream(Stream)

Windows 스토어 앱용 .NET의 관리형 스트림을 Windows 런타임의 입력 스트림으로 변환합니다.Converts a managed stream in the .NET for Windows Store apps to an input stream in the Windows Runtime.

AsOutputStream(Stream)

Windows 스토어 앱용 .NET의 관리형 스트림을 Windows 런타임의 출력 스트림으로 변환합니다.Converts a managed stream in the .NET for Windows Store apps to an output stream in the Windows Runtime.

AsRandomAccessStream(Stream)

지정된 스트림을 임의 액세스 스트림으로 변환합니다.Converts the specified stream to a random access stream.

적용 대상

추가 정보