SqlFileStream 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
SqlFileStream 클래스의 새 인스턴스를 초기화합니다.
오버로드
SqlFileStream(String, Byte[], FileAccess) |
SqlFileStream 클래스의 새 인스턴스를 초기화합니다. |
SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64) |
SqlFileStream 클래스의 새 인스턴스를 초기화합니다. |
설명
다음 표에서는 스택의 모든 호출자가 생성자를 사용해야 SqlFileStream
하는 CAS(코드 액세스 보안) 권한을 나열합니다.
파일 액세스 | 사용 권한 |
---|---|
읽기 | Read |
쓰기 | Write |
ReadWrite | Read 및 Write |
CAS에 대한 자세한 내용은 코드 액세스 보안 및 ADO.NET 참조하세요.
SqlFileStream(String, Byte[], FileAccess)
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)
매개 변수
- path
- String
파일에 대한 논리 경로입니다. 테이블의 기본 FILESTREAM 열에 대해 Transact-SQL Pathname 함수를 사용하여 경로를 검색할 수 있습니다.
- transactionContext
- Byte[]
SqlFileStream
개체에 대한 트랜잭션 컨텍스트입니다. 애플리케이션은 GET_FILESTREAM_TRANSACTION_CONTEXT 메서드를 호출하여 반환된 바이트 배열을 반환해야 합니다.
- access
- FileAccess
파일을 열 때 사용할 액세스 모드입니다. 지원되는 FileAccess 열거 값은 Read, Write 및 ReadWrite입니다.
FileAccess.Read
를 사용하는 경우 SqlFileStream
개체를 사용하여 모든 기존 데이터를 읽을 수 있습니다.
FileAccess.Write
를 사용하는 경우 SqlFileStream
은 0바이트 파일을 가리킵니다. 개체가 닫히고 트랜잭션이 커밋되면 기존 데이터를 덮어씁니다.
FileAccess.ReadWrite
를 사용하는 경우 SqlFileStream
은 기존의 모든 데이터가 포함된 파일을 가리킵니다. 핸들은 파일의 시작 부분에 배치됩니다. System.IO
Seek
메서드 중 하나를 사용하여 새 데이터를 쓰거나 첨부할 파일 내로 핸들 위치를 이동할 수 있습니다.
예외
path
가 null 참조이거나 transactionContext
가 null입니다.
path
가 빈 문자열("")이거나 공백만 포함하거나 하나 이상의 잘못된 문자를 포함합니다.
path
가 "\\.\"로 시작됩니다(예: "\\.\PHYSICALDRIVE0 ").
NTCreateFile에 대한 호출에서 반환된 핸들이 FILE_TYPE_DISK 형식이 아닙니다.
options
에 지원되지 않는 값이 포함되어 있습니다.
파일을 찾을 수 없습니다.
I/O 오류가 발생했습니다.
호출자에게 필요한 권한이 없는 경우
지정된 path
가 잘못되었습니다(예: 매핑되지 않은 드라이브에 있음).
운영 체제에서 지정된 경로에 대해 요청된 액세스를 허용하지 않습니다. 이 문제는 Write 또는 ReadWrite 액세스 권한이 지정되고, 파일 또는 디렉터리가 읽기 전용 액세스용으로 설정된 경우에 발생합니다.
오류 코드가 ERROR_SHARING_VIOLATION으로 설정된 상태로 NtCreateFile이 실패합니다.
설명
예외가 throw되면 열려 있는 트랜잭션을 롤백해야 합니다. 그렇지 않으면 데이터 손실이 발생할 수 있습니다.
추가 정보
적용 대상
SqlFileStream(String, Byte[], FileAccess, FileOptions, Int64)
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)
매개 변수
- path
- String
파일에 대한 논리 경로입니다. 테이블의 기본 FILESTREAM 열에 대해 Transact-SQL Pathname 함수를 사용하여 경로를 검색할 수 있습니다.
- transactionContext
- Byte[]
SqlFileStream
개체에 대한 트랜잭션 컨텍스트입니다. null로 설정되면 SqlFileStream
개체에 암시적 트랜잭션이 사용됩니다. 애플리케이션은 GET_FILESTREAM_TRANSACTION_CONTEXT 메서드를 호출하여 반환된 바이트 배열을 반환해야 합니다.
- access
- FileAccess
파일을 열 때 사용할 액세스 모드입니다. 지원되는 FileAccess 열거 값은 Read, Write 및 ReadWrite입니다.
FileAccess.Read
를 사용하는 경우 SqlFileStream
개체를 사용하여 모든 기존 데이터를 읽을 수 있습니다.
FileAccess.Write
를 사용하는 경우 SqlFileStream
은 0바이트 파일을 가리킵니다. 개체가 닫히고 트랜잭션이 커밋되면 기존 데이터를 덮어씁니다.
FileAccess.ReadWrite
를 사용하는 경우 SqlFileStream
은 기존의 모든 데이터가 포함된 파일을 가리킵니다. 핸들은 파일의 시작 부분에 배치됩니다. System.IO
Seek
메서드 중 하나를 사용하여 새 데이터를 쓰거나 첨부할 파일 내로 핸들 위치를 이동할 수 있습니다.
- options
- FileOptions
파일을 여는 동안 사용할 옵션을 지정합니다. 지원되는 FileOptions 값은 Asynchronous, WriteThrough, SequentialScan 및 RandomAccess입니다.
- allocationSize
- Int64
파일을 만드는 동안 사용할 할당 크기입니다. 0으로 설정되면 기본값이 사용됩니다.
예외
path
가 null 참조이거나 transactionContext
가 null입니다.
path
가 빈 문자열("")이거나 공백만 포함하거나 하나 이상의 잘못된 문자를 포함합니다.
path
가 "\\.\"로 시작됩니다(예: "\\.\PHYSICALDRIVE0 ").
NTCreateFile에 대한 호출에서 반환된 핸들이 FILE_TYPE_DISK 형식이 아닙니다.
options
에 지원되지 않는 값이 포함되어 있습니다.
파일을 찾을 수 없습니다.
I/O 오류가 발생했습니다.
호출자에게 필요한 권한이 없는 경우
지정된 path
가 잘못되었습니다(예: 매핑되지 않은 드라이브에 있음).
운영 체제에서 지정된 경로에 대해 요청된 액세스를 허용하지 않습니다. 이 문제는 Write 또는 ReadWrite 액세스 권한이 지정되고, 파일 또는 디렉터리가 읽기 전용 액세스용으로 설정된 경우에 발생합니다.
오류 코드가 ERROR_SHARING_VIOLATION으로 설정된 상태로 NtCreateFile이 실패합니다.
설명
예외가 throw되면 열려 있는 트랜잭션을 롤백해야 합니다. 그렇지 않으면 데이터 손실이 발생할 수 있습니다.
추가 정보
적용 대상
.NET