Mapowanie typu danych w ITableDefinition
Podczas tworzenia tabel za pomocą ITableDefinition::CreateTable funkcja SQL Server macierzystego klienta OLE DB dostawca konsumenta można określić SQL Server typy danych w pwszTypeName element członkowski tablicy DBCOLUMNDESC, która jest przekazywana.Jeśli konsument określa typ danych kolumna, według nazwy, mapowanie, reprezentowane przez typ danych OLE DB wType element członkowski struktury DBCOLUMNDESC jest ignorowana.
Podczas określania nowych kolumna typy danych z typami danych OLE DB przy użyciu DBkolumnastruktury DESC wType element członkowski, SQL Server macierzystego klienta dostawca OLE DB mapowania typów danych OLE DB, jak następuje.
Typ danych OLE DB |
SQL Server typ danych |
Dodatkowe informacje |
---|---|---|
DBTYPE_BOOL |
bit |
|
DBTYPE_BYTES |
Binary, varbinary, obrazu, lub varbinary(max) |
SQL Server Macierzystego klienta dostawca OLE DB sprawdzi ulColumnSize element członkowski struktury DBCOLUMNDESC.Na podstawie wartości i wersja SQL Server wystąpienie, SQL Server macierzystego klienta dostawca OLE DB mapuje typ do obrazu. Jeśli wartość ulColumnSize jest mniejsza niż maksymalna długość binary kolumna Typ danych, a następnie SQL Server macierzystym klienta dostawca OLE DB sprawdzi DBCOLUMNDESC rgPropertySets element członkowski.Jeśli DBPROP_COL_FIXEDLENGTH jest VARIANT_TRUE, SQL Server macierzystego klienta dostawca OLE DB mapuje typ do binary.Jeśli wartość właściwość VARIANT_FALSE, SQL Server macierzystego klienta dostawca OLE DB mapuje typ do varbinary.W każdym przypadek DBCOLUMNDESC ulColumnSize element członkowski Określa szerokość kolumna SQL Server tworzony. |
DBTYPE_CY |
pieniądze |
|
DBTYPE_DBTIMESTAMP |
data_i_godzina |
|
DBTYPE_GUID |
Uniqueidentifier |
|
DBTYPE_I2 |
smallint |
|
DBTYPE_I4 |
int |
|
DBTYPE_NUMERIC |
numeryczne |
SQL Server Macierzystego klienta dostawca OLE DB sprawdzi DBCOLUMDESC bPrecision i bScale członków określenie precyzji i skali numeryczne kolumna. |
DBTYPE_R4 |
rzeczywiste |
|
DBTYPE_R8 |
Pływak |
|
TYPEM DBTYPE_STR |
CHAR, varchar, tekstu, lub varchar(max) |
SQL Server Macierzystego klienta dostawca OLE DB sprawdzi ulColumnSize element członkowski struktury DBCOLUMNDESC.Na podstawie wartości i wersja SQL Server wystąpienie, SQL Server macierzystego klienta dostawca OLE DB mapuje typ do tekstu. Jeśli wartość ulColumnSize jest mniejsza niż maksymalna długość znaków wielobajtowych kolumna Typ danych, a następnie SQL Server macierzystego klienta dostawca OLE DB sprawdzi DBCOLUMNDESC rgPropertySets element członkowski.Jeśli DBPROP_COL_FIXEDLENGTH jest VARIANT_TRUE, SQL Server macierzystego klienta dostawca OLE DB mapuje typ do char.Jeśli wartość właściwość VARIANT_FALSE, SQL Server macierzystego klienta dostawca OLE DB mapuje typ do varchar.W każdym przypadek DBCOLUMNDESC ulColumnSize element członkowski Określa szerokość SQL Server kolumna utworzonej. |
DBTYPE_UDT |
UDT |
Poniższe informacje są używane w DBCOLUMNDESC struktur przez ITableDefinition::CreateTable podczas UDT kolumny są wymagane:
|
DBTYPE_UI1 |
tinyint |
|
DBTYPE_WSTR |
nchar, nvarchar, ntext, lub nvarchar(max) |
SQL Server Macierzystego klienta dostawca OLE DB sprawdzi ulColumnSize element członkowski struktury DBCOLUMNDESC.Na podstawie wartości, SQL Server macierzystego klienta dostawca OLE DB mapuje typ do ntext. Jeśli wartość ulColumnSize jest mniejsza niż maksymalna długość kolumna Typ danych znaków Unicode, a następnie SQL Server macierzystego klienta dostawca OLE DB sprawdzi DBCOLUMNDESC rgPropertySets element członkowski.Jeśli DBPROP_COL_FIXEDLENGTH jest VARIANT_TRUE, SQL Server macierzystego klienta dostawca OLE DB mapuje typ do nchar.Jeśli wartość właściwość VARIANT_FALSE, SQL Server macierzystego klienta dostawca OLE DB mapuje typ do nvarchar.W każdym przypadek DBCOLUMNDESC ulColumnSize element członkowski Określa szerokość SQL Server kolumna utworzonej. |
DBTYPE_XML |
XML |
Ostrzeżenie
Podczas tworzenia nowej tabela, SQL Server macierzystego klienta OLE DB dostawca mapy tylko danych OLE DB, wpisz wartości wyliczenia określonego w poprzedniej tabela.Próby utworzenia tabela z kolumna innych danych OLE DB typu generuje błąd.