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.
Konformität
Eingeführte Version: ODBC 3.81 Normeneinhaltung: ODBC
Summary
SQLSetConnectAttrForDbcInfo ist dasselbe wie SQLSetConnectAttr, setzt jedoch das Attribut auf das Verbindungsinformationstoken statt auf das Verbindungshandle.
Syntax
SQLRETURN SQLSetConnectAttrForDbcInfo(
SQLHDBC_INFO_TOKEN hDbcInfoToken,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength );
Argumente
hDbcInfoToken
[Eingabe] Token-Handle.
Attribut
[Eingabe] Attribut zu Menge. Die Liste der gültigen Attribute ist treiberspezifisch und identisch mit der von SQLSetConnectAttr.
ValuePtr
[Eingabe] Zeiger auf den Wert, der mit Attribut verknüpft werden soll. Je nach Wert des Attributs ist ValuePtr ein 32-Bit-unsignierter ganzzahliger Wert oder zeigt auf eine null-terminierte Zeichenfolge. Beachten Sie, dass wenn das Attribut-Argument ein treiberspezifischer Wert ist, der Wert in ValuePtr eine vorzeichenbetecknte ganze Zahl sein kann.
StringLength
[Eingabe] Wenn attribut ein ODBC-definiertes Attribut ist und ValuePtr auf eine Zeichenfolge oder einen binären Puffer zeigt, sollte dieses Argument die Länge von *ValuePtr sein. Für Zeichenstring-Daten sollte dieses Argument die Anzahl der Bytes in der Zeichenkette enthalten.
Wenn das Attribut ein ODBC-definiertes Attribut ist und ValuePtr eine ganze Zahl ist, wird StringLength ignoriert.
Wenn Attribut ein treiberdefiniertes Attribut ist, gibt die Anwendung die Art des Attributs für den Treiber-Manager an, indem Das Argument StringLength festgelegt wird. StringLength kann die folgenden Werte haben:
Wenn ValuePtr ein Zeiger auf eine Zeichenfolge ist, ist StringLength die Länge der Zeichenfolge oder SQL_NTS.
Wenn ValuePtr ein Zeiger auf einen binären Puffer ist, platziert die Anwendung das Ergebnis des Makros SQL_LEN_BINARY_ATTR(länge) in StringLength. Dadurch wird ein negativer Wert in StringLength platziert.
Wenn ValuePtr ein Zeiger auf einen anderen Wert als eine Zeichenfolge oder eine binäre Zeichenfolge ist, sollte StringLength den Wert SQL_IS_POINTER haben.
Wenn ValuePtr einen Wert mit fester Länge enthält, ist StringLength entweder SQL_IS_INTEGER oder SQL_IS_UINTEGER, je nach Bedarf.
Rücklieferungen
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR oder SQL_INVALID_HANDLE.
Diagnostics
Dasselbe wie SQLSetConnectAttr, nur dass der Treibermanager einen HandleType von SQL_HANDLE_DBC_INFO_TOKEN und einen Handle von hDbcInfoToken verwendet.
Bemerkungen
SQLSetConnectAttrForDbcInfo ist dasselbe wie SQLSetConnectAttr, setzt jedoch das Attribut auf das Verbindungsinformationstoken statt auf den Verbindungshandle. Wenn SQLSetConnectAttr beispielsweise ein Attribut nicht erkennt, sollte SQLSetConnectAttrForDbcInfo ebenfalls SQL_ERROR für dieses Attribut zurückgeben.
Wann immer der Treiber SQL_ERROR oder SQL_INVALID_HANDLE zurückgibt, sollte der Treiber dieses Attribut ignorieren, um die Pool-ID zu berechnen. Außerdem erhält der Treibermanager die Diagnoseinformationen von hDbcInfoToken und gibt SQL_SUCCESS_WITH_INFO in SQLConnect und SQLDriverConnect an die Anwendung zurück. Daher kann eine Anwendung Details darüber abrufen, warum bestimmte Attribute nicht gesetzt werden können.
Anwendungen sollten diese Funktion nicht direkt aufrufen. Ein ODBC-Treiber, der treiberbewusstes Connection Pooling unterstützt, muss diese Funktion implementieren.
Fügen Sie sqlspi.h für die Entwicklung von ODBC-Treibern hinzu.