SQL Server Native Client BLOB 및 OLE 개체

적용 대상: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

SQL Server Native Client OLE DB 공급자는 SQL Server ntext, text, image, varchar(max), nvarchar(max), varbinary(max) 및 xml 데이터 형식에 대한 소비자 액세스를 BLOB(Binary Large Objects)로 지원하기 위해 ISequentialStream 인터페이스를 노출합니다. ISequentialStream에서 Read 메서드를 사용하면 소비자가 많은 양의 데이터를 관리하기 쉬운 청크로 가져올 수 있습니다.

이 기능을 보여 주는 샘플을 보려면 큰 데이터 설정(OLE DB)을 참조하세요.

SQL Server Native Client OLE DB 공급자는 소비자가 데이터 수정을 위해 바인딩된 접근자에 인터페이스 포인터를 제공하는 경우 소비자가 구현한 IStorage 인터페이스를 사용할 수 있습니다.

큰 값 데이터 형식의 경우 SQL Server Native Client OLE DB 공급자는 IRowset 및 DDL 인터페이스에서 형식 크기 가정을 확인합니다. 최대 크기가 무제한으로 설정된 varchar, nvarcharvarbinary 데이터 형식이 있는 열은 열 데이터 형식을 반환하는 스키마 행 집합 및 인터페이스를 통해 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)으로 캐시하여 순서에 따라 액세스할 수 있습니다.

섹션 내용

참고 항목

SQL Server Native Client(OLE DB)
큰 값 형식 사용