Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-databas i Microsoft Fabric
När man skapar tabeller med hjälp av funktionen ITableDefinition::CreateTable kan OLE DB-drivrutinen för SQL Server-konsument specificera SQL Server-datatyper i pwszTypeName-medlemmen i DBCOLUMNDESC-arrayen som skickas. Om konsumenten specificerar datatypen för en kolumn med namn, ignoreras OLE DB-datatypmappning, representerad av wType-medlemmen i DBCOLUMNDESC-strukturen.
När nya kolumndatatyper med OLE DB-datatyper anges med DBCOLUMNDESC-strukturen wType member mappas OLE DB-drivrutinen för SQL Server enligt följande.
| OLE DB-datatyp | SQL Server datatyp |
Ytterligare information |
|---|---|---|
| DBTYPE_BOOL | bit | |
| DBTYPE_BYTES | binär, varbinär, bild eller varbinär(max) | OLE DB-drivrutinen för SQL Server inspekterar ulColumnSize-medlemmen i DBCOLUMNDESC-strukturen. Baserat på värdet och versionen av SQL Server-instansen mappar OLE DB-drivrutinen för SQL Server typen till bilden. Om värdet av ulColumnSize är mindre än den maximala längden på en kolumn för binär datatyp, inspekterar OLE DB-drivrutinen för SQL Server medlemmen rgPropertySets i DBCOLUMNDESC rgPropertySets . Om DBPROP_COL_FIXEDLENGTH är VARIANT_TRUE, mappar OLE DB-drivrutinen för SQL Server typen till binär. Om värdet på egenskapen är VARIANT_FALSE, mappar OLE DB-drivrutinen för SQL Server typen till varbinär. I båda fallen bestämmer medlemmen ulColumnSize i DBCOLUMNDESC bredden på den SQL Server-kolumn som skapas. |
| DBTYPE_CY | pengar | |
| DBTYPE_DBTIMESTAMP | datetime2 | |
| DBTYPE_GUID | uniqueidentifier | |
| DBTYPE_I2 | smallint | |
| DBTYPE_I4 | int | |
| DBTYPE_I8 | bigint | |
| DBTYPE_NUMERIC | numerisk | OLE DB-drivrutinen för SQL Server inspekterar medlemmarna i DBCOLUMDESC bPrecision och bScale för att bestämma precision och skala för den numeriska kolumnen . |
| DBTYPE_R4 | riktiga | |
| DBTYPE_R8 | float | |
| DBTYPE_STR | char, varchar, text eller varchar(max) | OLE DB-drivrutinen för SQL Server inspekterar ulColumnSize-medlemmen i DBCOLUMNDESC-strukturen. Baserat på värdet och versionen av SQL Server-instansen mappar OLE DB-drivrutinen för SQL Server typen till text. Om värdet av ulColumnSize är mindre än den maximala längden på en multibyte teckendatatypkolumn, inspekterar OLE DB-drivrutinen för SQL Server medlemmen DBCOLUMNDESC rgPropertySets . Om DBPROP_COL_FIXEDLENGTH är VARIANT_TRUE, mappar OLE DB-drivrutinen för SQL Server typen till char. Om värdet på egenskapen är VARIANT_FALSE, mappar OLE DB-drivrutinen för SQL Server typen till varchar. I båda fallen bestämmer medlemmen ulColumnSize i DBCOLUMNDESC bredden på den SQL Server-kolumn som skapas. |
| DBTYPE_UDT | UDT | Följande information används i DBCOLUMNDESC-strukturer av ITableDefinition::CreateTable när UDT-kolumner behövs: pwSzTypeName ignoreras. rgPropertySets måste inkludera en DBPROPSET_SQLSERVERCOLUMN egenskapsmängd som beskrivs i avsnittet om DBPROPSET_SQLSERVERCOLUMN, i Using User-Defined Types. |
| DBTYPE_UI1 | tinyint | |
| DBTYPE_VARIANT | sql_variant | |
| DBTYPE_WSTR | Nchar, Nvarchar, ntext eller nvarchar(max) | OLE DB-drivrutinen för SQL Server inspekterar ulColumnSize-medlemmen i DBCOLUMNDESC-strukturen. Baserat på värdet mappar OLE DB-drivrutinen för SQL Server typen till ntext. Om värdet av ulColumnSize är mindre än den maximala längden på en Unicode-teckendatatypkolumn, inspekterar OLE DB-drivrutinen för SQL Server medlemmen DBCOLUMNDESC rgPropertySets . Om DBPROP_COL_FIXEDLENGTH är VARIANT_TRUE, mappar OLE DB-drivrutinen för SQL Server typen till nchar. Om värdet på egenskapen är VARIANT_FALSE, mappar OLE DB-drivrutinen för SQL Server typen till nvarchar. I båda fallen bestämmer medlemmen ulColumnSize i DBCOLUMNDESC bredden på den SQL Server-kolumn som skapas. |
| DBTYPE_XML | XML |
Anmärkning
När en ny tabell skapas mappar OLE DB-drivrutinen för SQL Server endast de OLE DB-datatyp-elisteringsvärden som anges i föregående tabell. Försök att skapa en tabell med en kolumn av någon annan OLE DB-datatyp genererar ett fel.