ITableDefinition의 데이터 형식 매핑
적용 대상: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)
ITableDefinition::CreateTable 함수를 사용하여 테이블을 만들 때 SQL Server용 OLE DB 드라이버 소비자는 전달되는 DBCOLUMNDESC 배열의 pwszTypeName 멤버에서 SQL Server 데이터 형식을 지정할 수 있습니다. 소비자가 열의 데이터 형식을 이름으로 지정하면 DBCOLUMNDESC 구조의 wType 멤버로 표시되는 OLE DB 데이터 형식 매핑이 무시됩니다.
새 열 데이터 형식을 DBCOLUMNDESC 구조 wType 멤버를 사용하는 OLE DB 데이터 형식으로 지정하면 SQL Server용 OLE DB 드라이버는 OLE DB 데이터 형식을 다음과 같이 매핑합니다.
OLE DB 데이터 형식 | SQL Server 데이터 형식 |
추가 정보 |
---|---|---|
DBTYPE_BOOL | bit | |
DBTYPE_BYTES | binary, varbinary, image 또는 varbinary(max) | OLE DB Driver for SQL Server는 DBCOLUMNDESC 구조체의 ulColumnSize 멤버를 검사합니다. SQL Server 인스턴스의 값 및 버전에 따라 OLE DB Driver for SQL Server는 형식을 image에 매핑합니다. ulColumnSize 값이 binary 데이터 형식 열의 최대 길이보다 작으면 SQL Server용 OLE DB 드라이버는 DBCOLUMNDESC rgPropertySets 멤버를 검사합니다. DBPROP_COL_FIXEDLENGTH가 VARIANT_TRUE인 경우 OLE DB Driver for SQL Server는 형식을 binary에 매핑합니다. 이 속성의 값이 VARIANT_FALSE인 경우 OLE DB Driver for SQL Server는 형식을 varbinary에 매핑합니다. 두 경우 모두 생성되는 SQL Server 열의 너비는 DBCOLUMNDESC ulColumnSize 멤버에 따라 결정됩니다. |
DBTYPE_CY | money | |
DBTYPE_DBTIMESTAMP | datetime2 | |
DBTYPE_GUID | uniqueidentifier | |
DBTYPE_I2 | smallint | |
DBTYPE_I4 | int | |
DBTYPE_I8 | bigint | |
DBTYPE_NUMERIC | numeric | SQL Server용 OLE DB 드라이버는 DBCOLUMDESC bPrecision 및 bScale 멤버를 검사하여 numeric 열의 전체 자릿수 및 소수 자릿수를 확인합니다. |
DBTYPE_R4 | real | |
DBTYPE_R8 | float | |
DBTYPE_STR | char, varchar, text 또는 varchar(max) | OLE DB Driver for SQL Server는 DBCOLUMNDESC 구조체의 ulColumnSize 멤버를 검사합니다. SQL Server 인스턴스의 값 및 버전에 따라 OLE DB Driver for SQL Server는 형식을 text에 매핑합니다. ulColumnSize 값이 멀티바이트 문자 데이터 형식 열의 최대 길이보다 작으면 SQL Server용 OLE DB 드라이버는 DBCOLUMNDESC rgPropertySets 멤버를 검사합니다. DBPROP_COL_FIXEDLENGTH가 VARIANT_TRUE인 경우 OLE DB Driver for SQL Server는 형식을 char에 매핑합니다. 이 속성의 값이 VARIANT_FALSE인 경우 OLE DB Driver for SQL Server는 형식을 varchar에 매핑합니다. 두 경우 모두 생성되는 SQL Server 열의 너비는 DBCOLUMNDESC ulColumnSize 멤버에 따라 결정됩니다. |
DBTYPE_UDT | UDT | UDT 열이 필요한 경우 ITableDefinition::CreateTable에서 DBCOLUMNDESC 구조에 사용하는 정보는 다음과 같습니다. pwSzTypeName은 무시됩니다. rgPropertySets는 사용자 정의 형식 사용의 DBPROPSET_SQLSERVERCOLUMN 섹션에 설명된 대로 DBPROPSET_SQLSERVERCOLUMN 속성 집합을 포함해야 합니다. |
DBTYPE_UI1 | tinyint | |
DBTYPE_VARIANT | sql_variant | |
DBTYPE_WSTR | nchar, nvarchar, ntext 또는 nvarchar(max) | OLE DB Driver for SQL Server는 DBCOLUMNDESC 구조체의 ulColumnSize 멤버를 검사합니다. 이 값을 기준으로 OLE DB Driver for SQL Server는 형식을 ntext에 매핑합니다. ulColumnSize 값이 유니코드 문자 데이터 형식 열의 최대 길이보다 작으면 SQL Server용 OLE DB 드라이버는 DBCOLUMNDESC rgPropertySets 멤버를 검사합니다. DBPROP_COL_FIXEDLENGTH가 VARIANT_TRUE인 경우 OLE DB Driver for SQL Server는 형식을 nchar에 매핑합니다. 이 속성의 값이 VARIANT_FALSE인 경우 OLE DB Driver for SQL Server는 형식을 nvarchar에 매핑합니다. 두 경우 모두 생성되는 SQL Server 열의 너비는 DBCOLUMNDESC ulColumnSize 멤버에 따라 결정됩니다. |
DBTYPE_XML | XML |
참고
새 테이블을 만들 때 SQL Server용 OLE DB 드라이버는 위 표에 지정된 OLE DB 데이터 형식 열거형 값만 매핑합니다. 다른 OLE DB 데이터 형식의 열로 테이블을 만들려고 하면 오류가 생성됩니다.
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기