ITableDefinition의 데이터 형식 매핑
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
ITableDefinition::CreateTable 함수를 사용하여 테이블을 만들 때 OLE DB Driver for SQL Server 소비자는 전달되는 DBCOLUMNDESC 배열의 pwszTypeName 멤버에서 SQL Server 데이터 형식을 지정할 수 있습니다. 소비자가 이름으로 열의 데이터 형식을 지정하는 경우 DBCOLUMNDESC 구조의 wType 멤버로 표시되는 OLE DB 데이터 형식 매핑은 무시됩니다.
DBCOLUMNDESC 구조 wType 멤버를 사용하여 OLE DB 데이터 형식으로 새 열 데이터 형식을 지정할 때 OLE DB Driver for SQL Server는 다음과 같이 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는 형식을 이미지에 매핑합니다. ulColumnSize 값이 binary 데이터 형식 열의 최대 길이보다 작으면 SQL Server용 OLE DB 드라이버는 DBCOLUMNDESC rgPropertySets 멤버를 검사합니다. DBPROP_COL_FIXEDLENGTH VARIANT_TRUE 경우 OLE DB Driver for SQL Server는 형식을 이진 파일에 매핑합니다. 속성 값이 VARIANT_FALSE 경우 OLE DB Driver for SQL Server는 형식을 varbinary에 매핑합니다. 두 경우 모두 DBCOLUMNDESC ulColumnSize 멤버는 만든 SQL Server 열의 너비를 결정합니다. |
DBTYPE_CY | money | |
DBTYPE_DBTIMESTAMP | datetime2 | |
DBTYPE_GUID | uniqueidentifier | |
DBTYPE_I2 | smallint | |
DBTYPE_I4 | int | |
DBTYPE_I8 | bigint | |
DBTYPE_NUMERIC | numeric | OLE DB Driver for SQL Server는 DBCOLUMDESC bPrecision 및 bScale 멤버를 검사하여 숫자 열의 전체 자릿수와 배율을 확인합니다. |
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는 형식을 텍스트에 매핑합니다. ulColumnSize 값이 멀티바이트 문자 데이터 형식 열의 최대 길이보다 작은 경우 OLE DB Driver for SQL Server는 DBCOLUMNDESC rgPropertySets 멤버를 검사합니다. DBPROP_COL_FIXEDLENGTH VARIANT_TRUE 경우 OLE DB Driver for SQL Server는 형식을 char에 매핑합니다. 속성 값이 VARIANT_FALSE 경우 OLE DB Driver for SQL Server는 형식을 varchar에 매핑합니다. 두 경우 모두 DBCOLUMNDESC ulColumnSize 멤버는 만든 SQL Server 열의 너비를 결정합니다. |
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 멤버를 검사합니다. 값에 따라 SQL Server용 OLE DB 드라이버는 형식을 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에 매핑합니다. 두 경우 모두 DBCOLUMNDESC ulColumnSize 멤버는 만든 SQL Server 열의 너비를 결정합니다. |
DBTYPE_XML | XML |
참고 항목
새 테이블을 만들 때 SQL Server용 OLE DB 드라이버는 위 표에 지정된 OLE DB 데이터 형식 열거형 값만 매핑합니다. 다른 OLE DB 데이터 형식의 열로 테이블을 만들려고 하면 오류가 생성됩니다.
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기