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
Analytics Platform System (PDW)
Detta ämne diskuterar SQLSetDescRec-funktionalitet som är specifik för SQL Server Native Client.
SQLSetDescRec och Table-Valued parametrar
SQLSetDescRec kan användas för att sätta deskriptorfält för tabellvärda parametrar och tabellvärda parameterkolumner. Tabellvärda parameterkolumner är endast tillgängliga när deskriptorhuvudfältet SQL_SOPT_SS_PARAM_FOCUS sätts till ordinalet för en post som har SQL_DESC_TYPE satt till SQL_SS_TABLE. För mer information om SQL_SOPT_SS_PARAM_FOCUS, se SQLSetStmtAttr.
Följande tabell beskriver avbildningen mellan parametrar och deskriptorfält.
| Parameter | Relaterat attribut för icke-tabellvärda parametertyper, inklusive tabellvärda parameterkolumner | Relaterat attribut för tabellvärda parametrar |
|---|---|---|
| Type | SQL_DESC_TYPE | SQL_SS_TABLE |
| Subtyp | Ignored | För poster av typ SQL_DATETIME eller SQL_INTERVAL, ställ in detta till SQL_DESC_DATETIME_INTERVAL_CODE. |
| Längd | SQL_DESC_OCTET_LENGTH | Längden på det tabellvärda parametertypnamnet. Detta kan SQL_NTS om typnamnet är nullterminerat, eller noll om tabellvärda parametertypnamnet inte krävs. |
| Precision | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
| Scale | SQL_DESC_SCALE | Unused. Denna parameter bör vara noll. |
| DataPtr | SQL_DESC_DATA_PTR i APD | SQL_CA_SS_TYPE_NAME Denna parameter är valfri för anrop av lagrade procedurer, och NULL kan specificeras om det inte krävs. Denna parameter måste specificeras för SQL-satser som inte är proceduranrop. DataPtr fungerar också som ett unikt värde som applikationen kan använda för att identifiera denna tabellvärda parameter när variabel radbindning används. |
| StringLengthPtr | SQL_DESC_OCTET_LENGTH_PTR | SQL_DESC_OCTET_LENGTH_PTR För en tabellvärd parameter är detta antalet rader att överföra eller SQL_DATA_AT_EXEC. Detta är en pekare till ett värde som innehåller antalet rader som ska överföras med SQLExecDirect. |
| IndicatorPtr | SQL_DESC_INDICATOR_PTR | SQL_DESC_INDICATOR_PTR |
För mer information om tabellvärda parametrar, se Table-Valued Parameters (ODBC).
SQLSetDescRec-stöd för förbättrade datum- och tidfunktioner
De tillåtna värdena för datum/tid-typer är följande:
| Attribute | Type | Subtyp | Längd | Precision | Scale |
|---|---|---|---|---|---|
| tidpunkt | SQL_DATETIME | SQL_CODE_TIMESTAMP | 4 | 3 | 3 |
| smalldatetime | SQL_SQL_DATETIME | SQL_CODE_TIMESTAMP | 8 | 0 | 0 |
| date | SQL_DATETIME | SQL_CODE_DATE | 6 | 0 | 0 |
| time | SQL_SS_TIME2 | 0 | 10 | 0..7 | 0..7 |
| datetime2 | SQL_DATETIME | SQL_CODE_TIMESTAMP | 16 | 0..7 | 0..7 |
| datetimeoffset | SQL_SS_TIMESTAMPOFFSET | 0 | 20 | 0..7 | 0..7 |
Mer information finns i Förbättringar av datum och tid (ODBC).
SQLSetDescRec-stöd för stora CLR UDT:er
SQLSetDescRec stöder stora CLR-användardefinierade typer (UDT). Mer information finns i Large CLR User-Defined Types (ODBC).