SQL Server Native Client의 BLOB 및 OLE 개체
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
SQL Server Native Client OLE DB 공급자는 ISequentialStream 인터페이스를 노출하여 SQL Server ntext, text, image, varchar(max), nvarchar(max), varbinary(max) 및 xml 데이터 형식에 대한 소비자 액세스를 BLOB(Binary Large Objects)로 지원합니다. ISequentialStream에서 Read 메서드를 사용하면 소비자가 많은 양의 데이터를 관리하기 쉬운 청크로 가져올 수 있습니다.
이 기능을 보여 주는 샘플을 보려면 큰 데이터 설정(OLE DB)을 참조하세요.
소비자가 데이터 수정을 위해 바인딩된 접근자에 인터페이스 포인터를 제공하는 경우 SQL Server Native Client OLE DB 공급자는 소비자가 구현한 IStorage 인터페이스를 사용할 수 있습니다.
큰 값 데이터 형식의 경우 SQL Server Native Client OLE DB 공급자는 IRowset 및 DDL 인터페이스에서 형식 크기 가정을 확인합니다. 최대 크기가 무제한으로 설정된 varchar, nvarchar 및 varbinary 데이터 형식이 있는 열은 열 데이터 형식을 반환하는 스키마 행 집합 및 인터페이스를 통해 ISLONG으로 표시됩니다.
SQL Server Native Client OLE DB 공급자는 각각 varchar(max), varbinary(max) 및 nvarchar(max) 형식을 DBTYPE_STR, DBTYPE_BYTES 및 DBTYPE_WSTR 노출합니다.
이러한 형식을 사용하려면 애플리케이션에 다음과 같은 옵션이 있습니다.
형식(DBTYPE_STR, DBTYPE_BYTES, DBTYPE_WSTR)으로 바인딩합니다. 버퍼가 충분히 크지 않은 경우 이전 릴리스에서 이러한 형식과 똑같이 잘림이 발생합니다(이제 더 큰 값을 사용할 수 있음).
형식으로 바인딩하고 DBTYPE_BYREF도 지정합니다.
DBTYPE_IUNKNOWN으로 바인딩하고 스트리밍을 사용합니다.
DBTYPE_IUNKNOWN 바인딩된 경우 ISequentialStream 스트림 기능이 사용됩니다. SQL Server Native Client OLE DB 공급자는 저장 프로시저가 이러한 데이터 형식을 클라이언트에 DBTYPE_IUNKNOWN 노출되는 반환 값으로 반환하는 시나리오를 용이하게 하기 위해 큰 값 데이터 형식에 대한 DBTYPE_IUNKNOWN 바인딩 출력 매개 변수를 지원합니다.
스토리지 개체 제한 사항
SQL Server Native Client OLE DB 공급자는 열려 있는 단일 스토리지 개체만 지원할 수 있습니다. 둘 이상의 스토리지 개체를 열려고 시도합니다(둘 이상의 ISequentialStream 인터페이스 포인터에 대한 참조를 가져오기 위해)는 DBSTATUS_E_CANTCREATE 반환합니다.
SQL Server Native Client OLE DB 공급자에서 DBPROP_BLOCKINGSTORAGEOBJECTS 읽기 전용 속성의 기본값은 VARIANT_TRUE. 이는 스토리지 개체가 활성 상태이면 스토리지 개체에 있는 메서드가 아닌 일부 메서드가 E_UNEXPECTED 함께 실패한다는 것을 나타냅니다.
스토리지 개체를 참조하는 행 접근자가 만들어질 때 소비자가 구현한 스토리지 개체에서 제공하는 데이터의 길이를 SQL Server Native Client OLE DB 공급자에 알려야 합니다. 소비자는 접근자 생성에 사용되는 DBBINDING 구조에 길이 표시자를 바인딩해야 합니다.
행에 큰 데이터 값이 하나 이상 있고 DBPROP_ACCESSORDER DBPROPVAL_AO_RANDOM 않은 경우 소비자는 SQL Server Native Client OLE DB 공급자 커서 지원 행 집합을 사용하여 행 데이터를 검색하거나 다른 행 값을 검색하기 전에 모든 큰 데이터 값을 처리해야 합니다. DBPROP_ACCESSORDER DBPROPVAL_AO_RANDOM 경우 SQL Server Native Client OLE DB 공급자는 모든 xml 데이터 형식을 BLOB(Binary Large Objects)로 캐시하여 순서에 따라 액세스할 수 있습니다.