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.
Berücksichtigen Sie in der Regel die Auswirkungen der Verwendung von SQLBindCol , um die Datenkonvertierung zu verursachen. Bindungskonvertierungen sind Clientprozesse, sodass das Abrufen eines an eine Zeichenspalte gebundenen Gleitkommawerts dazu führt, dass der Treiber die Float-zu-Zeichen-Konvertierung lokal ausführt, wenn eine Zeile abgerufen wird. Die Transact-SQL CONVERT-Funktion kann verwendet werden, um die Kosten für die Datenkonvertierung auf dem Server zu platzieren.
Eine Instanz von SQL Server kann mehrere Gruppen von Ergebniszeilen für eine einzelne Anweisungsausführung zurückgeben. Jedes Resultset muss separat gebunden werden. Weitere Informationen zur Bindung für mehrere Resultsets finden Sie unter SQLMoreResults.
Der Entwickler kann Spalten mithilfe des TargetType-WertsSQL_C_BINARYan SQL Server-spezifische C-Datentypen binden. Spalten, die an SQL Server-spezifische Typen gebunden sind, sind nicht portierbar. Die definierten SQL Server-spezifischen ODBC C-Datentypen entsprechen den Typdefinitionen für DB-Library, und DB-Library Entwickler, die Anwendungen portieren, dieses Feature nutzen möchten.
Das Abschneiden von Berichtsdaten ist ein kostspieliger Prozess für den SQL Server Native Client ODBC-Treiber. Sie können das Abschneiden vermeiden, indem Sie sicherstellen, dass alle gebundenen Datenpuffer breit genug sind, um Daten zurückzugeben. Bei Zeichendaten sollte die Breite Platz für einen Zeichenfolgenterminator enthalten, wenn das Standardtreiberverhalten für die Beendigung der Zeichenfolge verwendet wird. Beispielsweise führt das Binden einer SQL Server-Zeichenspalte(5) an ein Array von fünf Zeichen zu einem Abschneiden für jeden abgerufenen Wert. Wenn Sie dieselbe Spalte an ein Array von sechs Zeichen binden, wird das Abschneiden vermieden, indem ein Zeichenelement bereitgestellt wird, in dem der Null-Endator gespeichert werden soll. SQLGetData kann verwendet werden, um lange Zeichen- und Binärdaten ohne Abschneiden effizient abzurufen.
Bei Datentypen mit großen Werten wird zurückgegeben, wenn der vom Benutzer bereitgestellte Puffer nicht groß genug ist, um den gesamten Wert der Spalte zu enthalten, SQL_SUCCESS_WITH_INFO und die "Zeichenfolgendaten". Die Warnung "rechts abgeschnitten" wird ausgegeben. Das StrLen_or_IndPtr Argument enthält die Anzahl der im Puffer gespeicherten Zeichen/Bytes.
SQLBindCol-Unterstützung für erweiterte Datums- und Uhrzeitfeatures
Ergebnisspaltenwerte von Datums-/Uhrzeittypen werden wie in Konvertierungen von SQL in C beschrieben konvertiert. Beachten Sie, dass zum Abrufen von Zeit- und Datetimeoffset-Spalten die entsprechenden Strukturen (SQL_SS_TIME2_STRUCT und SQL_SS_TIMESTAMPOFFSET_STRUCT) TargetType als SQL_C_DEFAULT oder SQL_C_BINARYangegeben werden müssen.
Weitere Informationen finden Sie unter "Datums- und Uhrzeitverbesserungen (ODBC)".
SQLBindCol-Unterstützung für große CLR-UDTs
SQLBindCol unterstützt große benutzerdefinierte CLR-Typen (UDTs). Weitere Informationen finden Sie unter "Large CLR User-Defined Types (ODBC)".