Udostępnij za pośrednictwem


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:

  • pwSzTypeName jest ignorowana.

  • rgPropertySetsmusi zawierać DBPROPSET_SQLSERVERCOLUMN Właściwość zestaw zgodnie z opisem w sekcji w DBPROPSET_SQLSERVERCOLUMN, Typy zdefiniowane przez użytkownika.

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.

Zobacz także

Koncepcje