Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Conformiteit
Versie geïntroduceerd: ODBC 3.81 Standaardnaleving: ODBC
Samenvatting
SQLSetConnectAttrForDbcInfo is hetzelfde als SQLSetConnectAttr, maar het stelt het attribuut in op het verbindingsinformatietoken in plaats van op het verbindingshandvat.
Syntax
SQLRETURN SQLSetConnectAttrForDbcInfo(
SQLHDBC_INFO_TOKEN hDbcInfoToken,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength );
Arguments
hDbcInfoToken
[Invoer] Token-handvat.
Attribuut
[Invoer] Attributen aan de verzameling. De lijst met geldige attributen is driver-specifiek en hetzelfde als voor SQLSetConnectAttr.
ValuePtr
[Invoer] Wijs naar de waarde die gekoppeld moet zijn aan Attribuut. Afhankelijk van de waarde van Attribuut zal ValuePtr een 32-bits onondertekende geheel getal zijn of wijzen op een null-terminated tekenreeks. Let op dat als het Attribuut-argument een driver-specifieke waarde is, de waarde in ValuePtr een getekend geheel getal kan zijn.
StringLength
[Invoer] Als Attribuut een ODBC-gedefinieerd attribuut is en ValuePtr wijst naar een tekenstring of een binaire buffer, zou dit argument de lengte van *ValuePtr moeten zijn. Voor tekenstringgegevens moet dit argument het aantal bytes in de string bevatten.
Als Attribuut een ODBC-gedefinieerd attribuut is en ValuePtr een geheel getal, wordt StringLength genegeerd.
Als Attribuut een door een driver gedefinieerd attribuut is, geeft de applicatie de aard van het attribuut aan bij de Driver Manager door het StringLength-argument in te stellen. StringLength kan de volgende waarden hebben:
Als ValuePtr een pointer is naar een tekenstring, dan is StringLength de lengte van de string of SQL_NTS.
Als ValuePtr een pointer is naar een binaire buffer, plaatst de applicatie het resultaat van de macro SQL_LEN_BINARY_ATTR(length) in StringLength. Dit plaatst een negatieve waarde in StringLength.
Als ValuePtr een pointer is naar een waarde die anders is dan een tekenstring of een binaire string, dan zou StringLength de waarde SQL_IS_POINTER moeten hebben.
Als ValuePtr een waarde met vaste lengte bevat, dan is StringLength ofwel SQL_IS_INTEGER of SQL_IS_UINTEGER, afhankelijk van toepassing.
Returns
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR of SQL_INVALID_HANDLE.
Diagnostiek
Hetzelfde als SQLSetConnectAttr, behalve dat de Driver Manager een HandleType van SQL_HANDLE_DBC_INFO_TOKEN en een Handle van hDbcInfoToken gebruikt.
Remarks
SQLSetConnectAttrForDbcInfo is hetzelfde als SQLSetConnectAttr, maar het stelt het attribuut in op het verbindingsinformatietoken in plaats van op de verbindingshandvat. Als SQLSetConnectAttr bijvoorbeeld een attribuut niet herkent, zou SQLSetConnectAttrForDbcInfo ook SQL_ERROR voor dat attribuut moeten teruggeven.
Telkens wanneer een driver SQL_ERROR of SQL_INVALID_HANDLE teruggeeft, moet de driver dit attribuut negeren om de pool-ID te berekenen. Ook haalt de Driver Manager de diagnostische informatie op van hDbcInfoToken en retourneert SQL_SUCCESS_WITH_INFO naar de applicatie in SQLConnect en SQLDriverConnect. Daarom kan een applicatie details ophalen over waarom sommige attributen niet kunnen worden ingesteld.
Applicaties mogen deze functie niet direct aanroepen. Een ODBC-driver die driver-bewuste verbindingspooling ondersteunt, moet deze functie implementeren.
Voeg sqlspi.h toe voor ODBC-driverontwikkeling.