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.
In diesem Thema werden sqlSetDescRec-Funktionen behandelt, die für SQL Server Native Client spezifisch sind.
SQLSetDescRec- und Table-Valued-Parameter
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 | Verwandtes Attribut für Tabellenwertparameter |
|---|---|---|
| Typ | SQL_DESC_TYPE | SQL_SS_TABLE |
| Untertyp | Wird ignoriert. | Legen Sie dies für Datensätze vom Typ SQL_DATETIME oder SQL_INTERVAL auf SQL_DESC_DATETIME_INTERVAL_CODE fest. |
| Länge | SQL_DESC_OCTET_LENGTH | Die Länge des Tabellenwert-Parametertypnamens. Dies kann SQL_NTS werden, wenn der Typname null beendet ist, oder null, wenn der Parametertypname mit Tabellenwert nicht erforderlich ist. |
| Präzision | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
| Maßstab | SQL_DESC_SCALE | Unbenutzt. Dieser Parameter sollte null sein. |
| DataPtr- | SQL_DESC_DATA_PTR in APD | SQL_CA_SS_TYPE_NAME Dieser Parameter ist optional für Gespeicherte Prozeduraufrufe, 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 zeilen, die übertragen 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 Datums- und Uhrzeitfeatures
Die für Datums-/Uhrzeittypen zulässigen Werte sind wie folgt:
| Typ | Untertyp | Länge | Präzision | Maßstab | |
|---|---|---|---|---|---|
| Datum/Uhrzeit | SQL_DATETIME | SQL_CODE_TIMESTAMP | 4 | 3 | 3 |
| smalldatetime | SQL_SQL_DATETIME | SQL_CODE_TIMESTAMP | 8 | 0 | 0 |
| Datum | SQL_DATETIME | SQL_CODE_DATE | 6 | 0 | 0 |
| Zeit | 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)".