SQLSetDescRec
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance 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)".