Ondersteuning voor SQLGetInfo

Wanneer een ODBC 2. x-applicatie roept SQLGetInfo aan naar een ODBC 3*.x*-driver, de InfoType-argumenten in de volgende tabel moeten worden ondersteund.

InfoType Returns
SQL_ALTER_TABLE (ODBC 2.0) Opmerking: Dit informatietype is niet verouderd; de bitmasks in de kolom rechts zijn verouderd. Een SQLINTEGER-bitmasker dat de clausules in de ALTER TABLE door de databron ondersteunde instructie opsomt.

De volgende bitmaskers worden gebruikt om te bepalen welke componenten worden ondersteund:

SQL_AT_DROP_COLUMN = De mogelijkheid om kolommen te laten vallen wordt ondersteund. Of dit leidt tot cascade- of beperkend gedrag is door de bestuurder bepaald. (ODBC 2.0)

SQL_AT_ADD_COLUMN = De mogelijkheid om meerdere kolommen in één statement ALTER TABLE toe te voegen wordt ondersteund. Deze bit combineert niet met andere SQL_AT_ADD_COLUMN_XXX bits of SQL_AT_CONSTRAINT_XXX bits. (ODBC 2.0)
SQL_FETCH_DIRECTION (ODBC 1.0)

Het informatietype werd geïntroduceerd in ODBC 1.0; Elke bitmask is gelabeld met de versie waarin het is geïntroduceerd.
Een SQLINTEGER bitmasker dat de ondersteunde opties voor de ophaalrichting opsomt.

De volgende bitmasks worden samen met de vlag gebruikt om te bepalen welke opties worden ondersteund:

SQL_FD_FETCH_NEXT (ODBC 1.0) SQL_FD_FETCH_FIRST (ODBC 1.0) SQL_FD_FETCH_LAST (ODBC 1.0) SQL_FD_FETCH_PRIOR (ODBC 1.0) SQL_FD_FETCH_ABSOLUTE (ODBC 1.0) SQL_FD_FETCH_RELATIVE (ODBC 1.0) SQL_FD_FETCH_BOOKMARK (ODBC 2.0)
SQL_LOCK_TYPES (ODBC 2.0) Een SQLINTEGER-bitmasker dat de ondersteunde slottypes voor het fLock-argument in SQLSetPo's opsomt.

De volgende bitmasks worden samen met de vlag gebruikt om te bepalen welke slottypes worden ondersteund:

SQL_LCK_NO_CHANGE SQL_LCK_EXCLUSIVE SQL_LCK_UNLOCK
SQL_ODBC_API_CONFORMANCE (ODBC 1.0) Een SQLSMALLINT-waarde die het niveau van ODBC-conformiteit aangeeft.

SQL_OAC_NONE = Geen

SQL_OAC_LEVEL1 = Niveau 1 ondersteund

SQL_OAC_LEVEL2 = Niveau 2 ondersteund
SQL_ODBC_SQL_CONFORMANCE (ODBC 1.0) Een SQLSMALLINT-waarde die SQL-grammatica aangeeft die door de driver wordt ondersteund. Zie Bijlage C: SQL Grammar voor een definitie van SQL-conformiteitsniveaus.

SQL_OSC_MINIMUM = Minimale ondersteunde grammatica

SQL_OSC_CORE = Kerngrammatica ondersteund

SQL_OSC_EXTENDED = Uitgebreide grammatica ondersteund
SQL_POS_OPERATIONS (ODBC 2.0) Een SQLINTEGER bitmasker dat de ondersteunde bewerkingen in SQLSetPo's opsomt.

De volgende bitmasks worden samen met de vlag gebruikt om te bepalen welke opties worden ondersteund:

SQL_POS_POSITION (ODBC 2.0) SQL_POS_REFRESH (ODBC 2.0) SQL_POS_UPDATE (ODBC 2.0) SQL_POS_DELETE (ODBC 2.0) SQL_POS_ADD (ODBC 2.0)
SQL_POSITIONED_STATEMENTS (ODBC 2.0) Een SQLINTEGER-bitmasker dat de ondersteunde gepositioneerde SQL-statements opsomt.

De volgende bitmasks worden gebruikt om te bepalen welke statements worden ondersteund:

SQL_PS_POSITIONED_DELETE SQL_PS_POSITIONED_UPDATE SQL_PS_SELECT_FOR_UPDATE
SQL_SCROLL_CONCURRENCY (ODBC 1.0) Een SQLINTEGER-bitmasker dat de gelijktijdigheidscontrole-opties opsomt en wordt ondersteund voor de cursor.

De volgende bitmaskers worden gebruikt om te bepalen welke opties worden ondersteund:

SQL_SCCO_READ_ONLY = De cursor is alleen-lezen. Updates zijn niet toegestaan.

SQL_SCCO_LOCK = Cursor gebruikt het laagste vergrendelingsniveau dat voldoende is om te garanderen dat de rij kan worden bijgewerkt.

SQL_SCCO_OPT_ROWVER = Cursor gebruikt optimistische gelijktijdigheidscontrole, waarbij rijversies worden vergeleken, zoals SQLBase ROWID of Sybase TIMESTAMP.

SQL_SCCO_OPT_VALUES = De cursor gebruikt optimistische gelijktijdigheidscontrole, waarbij waarden worden vergeleken.
SQL_STATIC_SENSITIVITY (ODBC 2.0) Een SQLINTEGER-bitmasker dat opsomt of wijzigingen die door een applicatie zijn aangebracht aan een statische of keyset-gestuurde cursor via SQLSetPos of gepositioneerde update- of delete-instructies, door die applicatie kunnen worden gedetecteerd.

SQL_SS_ADDITIONS = Toegevoegde rijen zijn zichtbaar voor de cursor; De cursor kan naar deze rijen scrollen. Waar deze rijen aan de cursor worden toegevoegd, is afhankelijk van de driver.

SQL_SS_DELETIONS = Verwijderde rijen zijn niet langer beschikbaar voor de cursor en laten geen "gat" achter in de resultaatset; Nadat de cursor van een verwijderde rij is gescrolld, kan hij niet meer terug naar die rij.

SQL_SS_UPDATES = Updates van rijen zijn zichtbaar voor de cursor; Als de cursor van een bijgewerkte rij schuift en terugkeert, zijn de door de cursor teruggegeven data de bijgewerkte data, niet de oorspronkelijke data. Deze optie geldt alleen voor statische cursors of updates op keyset-gestuurde cursors die de key niet bijwerken. Deze optie geldt niet voor een dynamische cursor of in het geval dat een toets wordt gewijzigd in een gemengde cursor.

Of een applicatie wijzigingen kan detecteren die door andere gebruikers zijn ingesteld, inclusief andere cursors in dezelfde applicatie, in het resultaat kan detecteren.

Een ODBC 3*.x*-applicatie die werkt met een ODBC 3*.x*-driver mag SQLGetInfo niet aanroepen met de InfoType-argumenten zoals beschreven in de voorgaande tabel, maar moet de ODBC 3*.x* InfoType-argumenten gebruiken die in de volgende alinea zijn vermeld. Er is geen één-op-één overeenkomst tussen de InfoType-argumenten die in ODBC 2 worden gebruikt. x en die gebruikt in ODBC 3*.x*. Een ODBC 3*.x*-applicatie die werkt met een ODBC 2. X-driver daarentegen zou de eerder beschreven InfoType-argumenten moeten gebruiken.

Sommige informatietypen in de vorige tabel zijn verouderd ten gunste van de cursorattributeninformatietypen. Deze verouderde informatietypen zijn SQL_FETCH_DIRECTION, SQL_LOCK_TYPES, SQL_POS_OPERATIONS, SQL_POSITIONED_STATEMENTS, SQL_SCROLL_CONCURRENCY en SQL_STATIC_SENSITIVITY. De nieuwe cursorattributen zijn SQL_XXX_CURSOR_ATTRIBUTES1and SQL_XXX_CURSOR_ATTRIBUTES2, waarbij XXX gelijk is aan DYNAMIC, FORWARD_ONLY, KEYSET_DRIVEN of STATIC. Elk van de nieuwe types geeft de drivermogelijkheden aan voor één cursortype. Voor meer informatie over deze opties, zie de functiebeschrijving van SQLGetInfo .