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