ITableDefinition의 데이터 형식 매핑

ITableDefinition::CreateTable 함수를 사용하여 테이블을 만들 때 SQL Server Native Client OLE DB 공급자 소비자는 전달되는 DBCOLUMNDESC 배열의 pwszTypeName 멤버에서 SQL Server 데이터 형식을 지정할 수 있습니다. 소비자가 열의 데이터 형식을 이름으로 지정하면 DBCOLUMNDESC 구조의 wType 멤버로 표시되는 OLE DB 데이터 형식 매핑이 무시됩니다.

새 열 데이터 형식을 DBCOLUMNDESC 구조 wType 멤버를 사용하는 OLE DB 데이터 형식으로 지정하면 SQL Server Native Client OLE DB 공급자는 OLE DB 데이터 형식을 다음과 같이 매핑합니다.

OLE DB 데이터 형식

SQL Server

데이터 형식

추가 정보

DBTYPE_BOOL

bit

DBTYPE_BYTES

binary, varbinary, image 또는 varbinary(max)

SQL Server Native Client OLE DB 공급자는 DBCOLUMNDESC 구조의 ulColumnSize 멤버를 검사합니다. 이 값과 SQL Server 인스턴스의 버전을 기준으로 SQL Server Native Client OLE DB 공급자는 형식을 image에 매핑합니다.

ulColumnSize 값이 binary 데이터 형식 열의 최대 길이보다 작으면 SQL Server Native Client OLE DB 공급자는 DBCOLUMNDESC rgPropertySets 멤버를 검사합니다. DBPROP_COL_FIXEDLENGTH가 VARIANT_TRUE이면 SQL Server Native Client OLE DB 공급자는 형식을 binary에 매핑합니다. 이 속성 값이 VARIANT_FALSE이면 SQL Server Native Client OLE DB 공급자는 형식을 varbinary에 매핑합니다. 두 경우 모두 생성되는 SQL Server 열의 너비는 DBCOLUMNDESC ulColumnSize 멤버에 따라 결정됩니다.

DBTYPE_CY

money

DBTYPE_DBTIMESTAMP

datetime

DBTYPE_GUID

uniqueidentifier

DBTYPE_I2

smallint

DBTYPE_I4

int

DBTYPE_NUMERIC

numeric

SQL Server Native Client OLE DB 공급자는 DBCOLUMDESC bPrecisionbScale 멤버를 검사하여 numeric 열의 전체 자릿수 및 소수 자릿수를 확인합니다.

DBTYPE_R4

real

DBTYPE_R8

float

DBTYPE_STR

char, varchar, text 또는 varchar(max)

SQL Server Native Client OLE DB 공급자는 DBCOLUMNDESC 구조의 ulColumnSize 멤버를 검사합니다. 이 값과 SQL Server 인스턴스의 버전을 기준으로 SQL Server Native Client OLE DB 공급자는 형식을 text에 매핑합니다.

ulColumnSize 값이 멀티바이트 문자 데이터 형식 열의 최대 길이보다 작으면 SQL Server Native Client OLE DB 공급자는 DBCOLUMNDESC rgPropertySets 멤버를 검사합니다. DBPROP_COL_FIXEDLENGTH가 VARIANT_TRUE이면 SQL Server Native Client OLE DB 공급자는 형식을 char에 매핑합니다. 이 속성 값이 VARIANT_FALSE이면 SQL Server Native Client OLE DB 공급자는 형식을 varchar에 매핑합니다. 두 경우 모두 생성되는 SQL Server 열의 너비는 DBCOLUMNDESC ulColumnSize 멤버에 따라 결정됩니다.

DBTYPE_UDT

UDT

UDT 열이 필요한 경우 ITableDefinition::CreateTable에서 DBCOLUMNDESC 구조에 사용하는 정보는 다음과 같습니다.

  • pwSzTypeName은 무시됩니다.

  • 사용자 정의 형식 사용의 DBPROPSET_SQLSERVERCOLUMN에 대한 섹션에서 설명한 대로 rgPropertySets에는 DBPROPSET_SQLSERVERCOLUMN 속성 집합이 포함되어야 합니다.

DBTYPE_UI1

tinyint

DBTYPE_WSTR

nchar, nvarchar, ntext 또는 nvarchar(max)

SQL Server Native Client OLE DB 공급자는 DBCOLUMNDESC 구조의 ulColumnSize 멤버를 검사합니다. 이 값을 기준으로 SQL Server Native Client OLE DB 공급자는 형식을 ntext에 매핑합니다.

ulColumnSize 값이 유니코드 문자 데이터 형식 열의 최대 길이보다 작으면 SQL Server Native Client OLE DB 공급자는 DBCOLUMNDESC rgPropertySets 멤버를 검사합니다. DBPROP_COL_FIXEDLENGTH가 VARIANT_TRUE이면 SQL Server Native Client OLE DB 공급자는 형식을 nchar에 매핑합니다. 속성 값이 VARIANT_FALSE이면 SQL Server Native Client OLE DB 공급자는 형식을 nvarchar에 매핑합니다. 두 경우 모두 생성되는 SQL Server 열의 너비는 DBCOLUMNDESC ulColumnSize 멤버에 따라 결정됩니다.

DBTYPE_XML

XML

[!참고]

새 테이블을 만들 때 SQL Server Native Client OLE DB 공급자는 위 표에 지정된 OLE DB 데이터 형식 열거형 값만 매핑합니다. 다른 OLE DB 데이터 형식의 열로 테이블을 만들려고 하면 오류가 생성됩니다.

참고 항목

개념

데이터 형식(OLE DB)