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
I raduppsättningar och som parametervärden representerar OLE DB-drivrutinen för SQL Server SQL Server-data genom att använda följande OLE DB-definierade datatyper, rapporterade i funktionerna IColumnsInfo::GetColumnInfo och ICommandWithParameters::GetParameterInfo.
| SQL Server-datatyp | OLE DB-datatyp |
|---|---|
| bigint | DBTYPE_I8 |
| binary | DBTYPE_BYTES |
| bit | DBTYPE_BOOL |
| tecken | DBTYPE_STR |
| datetime | DBTYPE_DBTIMESTAMP |
| datetime2 | DBTYPE_DBTIMESTAMP |
| decimal | DBTYPE_NUMERIC |
| float | DBTYPE_R8 |
| image | DBTYPE_BYTES |
| int | DBTYPE_I4 |
| pengar | DBTYPE_CY |
| nchar | DBTYPE_WSTR |
| ntext | DBTYPE_WSTR |
| numerisk | DBTYPE_NUMERIC |
| nvarchar | DBTYPE_WSTR |
| riktiga | DBTYPE_R4 |
| smalldatetime | DBTYPE_DBTIMESTAMP |
| smallint | DBTYPE_I2 |
| småpengar | DBTYPE_CY |
| sql_variant | DBTYPE_VARIANT, DBTYPE_SQLVARIANT |
| sysname | DBTYPE_WSTR |
| text | DBTYPE_STR |
| Tidsstämpel | DBTYPE_BYTES |
| tinyint | DBTYPE_UI1 |
| UDT | DBTYPE_UDT |
| uniqueidentifier | DBTYPE_GUID |
| varbinary | DBTYPE_BYTES |
| varchar | DBTYPE_STR |
| XML | DBTYPE_XML |
OLE DB-drivrutinen för SQL Server stödjer konsumentbegärda datakonverteringar som visas i illustrationen.
De sql_variant objekten kan innehålla data av vilken SQL Server-typ som helst utom text, ntext, bild, varchar(max), nvarchar(max), varbinary(max), xml, tidsstämpel och Microsoft .NET Frameworks common language runtime (CLR) användardefinierade typer. En instans av sql_variant data kan inte heller ha sql_variant som sin underliggande basdatatyp. Till exempel kan kolumnen innehålla smallint-värden för vissa rader, flyttalvärden för andra rader ochchar-nchar-värden/ i resten.
Anmärkning
Datatypen sql_variant liknar Variant-datatypen i Visual Basic och DBTYPE_VARIANT, DBTYPE_SQLVARIANT i OLEDB.
När sql_variant data hämtas som DBTYPE_VARIANT placeras den i en VARIANT-struktur i bufferten. Men subtyperna i VARIANT-strukturen kanske inte mappas till subtyper definierade i sql_variant datatypen. De sql_variant datan måste sedan hämtas som DBTYPE_SQLVARIANT för att alla undertyper ska matcha.
DBTYPE_SQLVARIANT Datatyp
För att stödja den sql_variant datatypen exponerar OLE DB-drivrutinen för SQL Server en leverantörsspecifik datatyp kallad DBTYPE_SQLVARIANT. När sql_variant data hämtas som DBTYPE_SQLVARIANT lagras den i en leverantörsspecifik SSVARIANT-struktur. SSVARIANT-strukturen innehåller alla deltyper som matchar undertyperna av den sql_variant datatypen.
Sessionsegenskapen SSPROP_ALLOWNATIVEVARIANT måste också sättas till SANT.
Provider-Specific Egendom SSPROP_ALLOWNATIVEVARIANT
Vid datahämtning kan du explicit ange vilken typ av datatyp som ska returneras för en kolumn eller för en parameter. IColumnsInfo kan också användas för att hämta kolumninformationen och använda den för att binda. När IColumnsInfo används för att erhålla kolumninformation för bindningsändamål, om SSPROP_ALLOWNATIVEVARIANT sessionsegenskapen är FALSE (standardvärde), returneras DBTYPE_VARIANT för sql_variant kolumner. Om SSPROP_ALLOWNATIVEVARIANT egenskap är FALSK DBTYPE_SQLVARIANT stöds den inte. Om SSPROP_ALLOWNATIVEVARIANT egenskap sätts till SANT returneras kolumntypen som DBTYPE_SQLVARIANT, i vilket fall bufferten håller SSVARIANT-strukturen. Vid att hämta sql_variant data som DBTYPE_SQLVARIANT måste sessionsegenskapen SSPROP_ALLOWNATIVEVARIANT sättas till SANT.
SSPROP_ALLOWNATIVEVARIANT egenskap är en del av den leverantörsspecifika DBPROPSET_SQLSERVERSESSION egenskapsuppsättningen och är en sessionsegenskap.
DBTYPE_VARIANT gäller alla andra leverantörer av OLE-databaser.
SSPROP_ALLOWNATIVEVARIANT
SSPROP_ALLOWNATIVEVARIANT är en sessionegenskap och ingår i DBPROPSET_SQLSERVERSESSION egenskapsuppsättning.
| Fastighet | Description |
|---|---|
| SSPROP_ALLOWNATIVEVARIANT | Typ: VT_BOOL R/W: Läs/Skriv Standard: VARIANT_FALSE Beskrivning: Avgör om den inhämtade datan är lika DBTYPE_VARIANT eller DBTYPE_SQLVARIANT. VARIANT_TRUE: Kolumntypen returneras som DBTYPE_SQLVARIANT i vilket fall bufferten kommer att hålla SSVARIANT-strukturen. VARIANT_FALSE: Kolumntypen returneras som DBTYPE_VARIANT och bufferten kommer att ha VARIANT-struktur. |