Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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)".