Mapowanie typu danych w ITableDefinition
Przy tworzeniu tabeli za pomocą ITableDefinition::CreateTable funkcjaSQL Server Można określić konsumenta macierzystego dostawca klient OLE DB SQL Server typy danych w pwszTypeName członkiem tablicy DBCOLUMNDESC, który jest przekazywany.Jeżeli konsument Określa typ danych kolumna, według nazwy, mapowanie, reprezentowane przez typ danych OLE DB wType element członkowski członkowski struktury DBCOLUMNDESC jest ignorowana.
Podczas określania nowych typów danych kolumn o typach danych OLE DB przy użyciu struktury DBCOLUMNDESC wType składnikSQL Server Macierzystego dostawca klient OLE DB w następujący sposób mapowania typów danych OLE DB.
Typ danych OLE DB |
SQL Server Typ danych |
Dodatkowe informacje |
|---|---|---|
DBTYPE_BOOL |
bit |
|
DBTYPE_BYTES |
plik binarny, varbinarnym, obraz or varbinary(max) |
The SQL Server Native klient OLE DB dostawca inspects the ulColumnSize element członkowski of the DBCOLUMNDESC structure.Na podstawie wartości i wersja SQL Server wystąpienie, SQL Server Typ, który ma mapuje macierzystego dostawca klient OLE DB obraz. Jeśli wartość ulColumnSize jest mniejsza niż maksymalna długość plik binarny danych wpisz kolumna, a następnie SQL Server DBCOLUMNDESC sprawdzi macierzystego dostawca klient OLE DB rgPropertySets element członkowski członkowski.W przypadku DBPROP_COL_FIXEDLENGTH VARIANT_TRUE, SQL Server Typ, który ma mapuje macierzystego dostawca klient OLE DB plik binarny.Jeśli wartość właściwość jest VARIANT_FALSE, SQL Server Typ, który ma mapuje macierzystego dostawca klient OLE DB varbinarnym.W obu przypadek, the DBCOLUMNDESC ulColumnSize element członkowski członkowski Określa szerokość kolumna programu SQL Server tworzony. |
DBTYPE_CY |
pieniądze |
|
DBTYPE_DBTIMESTAMP |
data_i_godzina |
|
DBTYPE_GUID |
Uniqueidentifier |
|
DBTYPE_I2 |
smallint |
|
DBTYPE_I4 |
int |
|
DBTYPE_NUMERIC |
numeric |
The SQL Server Native klient OLE DB dostawca inspects the DBCOLUMDESC bPrecision and bScale members to determine precision and scale for the numeric kolumna. |
DBTYPE_R4 |
rzeczywiste |
|
DBTYPE_R8 |
zmiennoprzecinkowe |
|
DBTYPE_STR |
CHAR, varchar, tekst, or varchar(max) |
The SQL Server Native klient OLE DB dostawca inspects the ulColumnSize element członkowski of the DBCOLUMNDESC structure.Na podstawie wartości i wersja SQL Server wystąpienie, SQL Server Typ, który ma mapuje macierzystego dostawca klient OLE DB tekst. Jeśli wartość ulColumnSize jest mniejsza niż maksymalna długość znaków wielobajtowych kolumna Typ danych, a następnie SQL Server DBCOLUMNDESC sprawdzi macierzystego dostawca klient OLE DB rgPropertySets element członkowski członkowski.W przypadku DBPROP_COL_FIXEDLENGTH VARIANT_TRUE, SQL Server Typ, który ma mapuje macierzystego dostawca klient OLE DB CHAR.Jeśli wartość właściwość jest VARIANT_FALSE, SQL Server Typ, który ma mapuje macierzystego dostawca klient OLE DB varchar.W obu przypadkach DBCOLUMNDESC ulColumnSize Określa, szerokość element członkowski członkowskiSQL Server Kolumna utworzona. |
DBTYPE_UDT |
UDT |
Poniższe informacje są używane w DBCOLUMNDESC struktury przez ITableDefinition::CreateTable podczas UDT kolumny są wymagane:
|
DBTYPE_UI1 |
tinyint |
|
DBTYPE_WSTR |
nchar, nvarchar, ntext, or nvarchar(max) |
The SQL Server Native klient OLE DB dostawca inspects the ulColumnSize element członkowski of the DBCOLUMNDESC structure.Na podstawie wartości, SQL Server Typ, który ma mapuje macierzystego dostawca klient OLE DB ntext. Jeśli wartość ulColumnSize jest mniejsza niż maksymalna długość Unicode znaku typu kolumna danych, następnie SQL Server DBCOLUMNDESC sprawdzi macierzystego dostawca klient OLE DB rgPropertySets element członkowski członkowski.W przypadku DBPROP_COL_FIXEDLENGTH VARIANT_TRUE, SQL Server Typ, który ma mapuje macierzystego dostawca klient OLE DB nchar.Jeśli wartość właściwość jest VARIANT_FALSE, SQL Server Typ, który ma mapuje macierzystego dostawca klient OLE DB nvarchar.W obu przypadkach DBCOLUMNDESC ulColumnSize Określa, szerokość element członkowski członkowskiSQL Server Kolumna utworzona. |
DBTYPE_XML |
XML |
Uwaga
Podczas tworzenia nowej tabela, SQL Server Macierzystego dostawca klient OLE DB mapuje tylko OLE DB danych typ wyliczenia wartości określone w powyższej tabela. Podjęto próbę utworzenia tabela z kolumną inny typ danych OLE DB generuje błąd.