SQLSetDescRec

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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).