Freigeben über


SQLSetDescRec

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW)

In diesem Thema werden sqlSetDescRec-Funktionen behandelt, die für SQL Server Native Client spezifisch sind.

SQLSetDescRec und Tabellenwertparameter

SQLSetDescRec kann zum Festlegen von Deskriptorfeldern für Tabellenwertparameter und Tabellenwertparameterspalten verwendet werden. Tabellenwertparameter-Spalten sind nur verfügbar, wenn das Deskriptorheaderfeld SQL_SOPT_SS_PARAM_FOCUS auf die Ordnungszahl eines Datensatzes festgelegt ist, für den SQL_DESC_TYPE auf SQL_SS_TABLE eingestellt ist. Weitere Informationen zu SQL_SOPT_SS_PARAM_FOCUS finden Sie unter SQLSetStmtAttr.

In der folgenden Tabelle wird die Zuordnung zwischen Parametern und Deskriptorfeldern beschrieben.

Parameter Verwandtes Attribut für Parametertypen ohne Tabellenwert, einschließlich Tabellenwertparameterspalten Verknüpftes Attribut für Tabellenwertparameter
Typ SQL_DESC_TYPE SQL_SS_TABLE
Untertyp Wird ignoriert. Für Datensätze des Typs SQL_DATETIME oder SQL_INTERVAL wird es auf SQL_DESC_DATETIME_INTERVAL_CODE festgelegt.
Länge SQL_DESC_OCTET_LENGTH Die Länge des Typnamens des Tabellenwertparameters. Kann SQL_NTS sein, wenn der Typname NULL-termininiert ist, oder Null (0), wenn der Typname des Tabellenwertparameters nicht erforderlich ist.
Genauigkeit SQL_DESC_PRECISION SQL_DESC_ARRAY_SIZE
Skalierung SQL_DESC_SCALE Nicht verwendet. Dieser Parameter sollte 0 (null) sein.
DataPtr SQL_DESC_DATA_PTR in APD SQL_CA_SS_TYPE_NAME

Dies ist ein optionaler Parameter für gespeicherte Prozeduren, und NULL kann angegeben werden, wenn er nicht erforderlich ist. Dieser Parameter muss für SQL-Anweisungen angegeben werden, die keine Prozeduraufrufe sind.

DataPtr dient auch als eindeutiger Wert, den die Anwendung verwenden kann, um diesen Tabellenwertparameter zu identifizieren, wenn die Variable Zeilenbindung verwendet wird.
StringLengthPtr SQL_DESC_OCTET_LENGTH_PTR SQL_DESC_OCTET_LENGTH_PTR

Bei einem Tabellenwertparameter ist dies die Anzahl der zu übertragenden Zeilen oder SQL_DATA_AT_EXEC. Dies ist ein Zeiger auf einen Wert, der die Anzahl der Zeilen enthält, die mit SQLExecDirect übertragen werden sollen.
IndicatorPtr SQL_DESC_INDICATOR_PTR SQL_DESC_INDICATOR_PTR

Weitere Informationen zu Tabellenwertparametern finden Sie unter "Table-Valued Parameters (ODBC)".

SQLSetDescRec-Unterstützung für erweiterte Funktionen für Datum und Uhrzeit

Die für Datums-/Uhrzeittypen zulässigen Werte lauten wie folgt:

attribute Typ Untertyp Länge Genauigkeit Skalierung
datetime 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

Weitere Informationen finden Sie unter "Datums- und Uhrzeitverbesserungen (ODBC)".

SQLSetDescRec-Unterstützung für große CLR-UDTs

SQLSetDescRec unterstützt große benutzerdefinierte CLR-Typen (UDTs). Weitere Informationen finden Sie unter "Large CLR User-Defined Types (ODBC)".

Weitere Informationen

SQLSetDescRec
ODBC-API-Implementierungsdetails