Freigeben über


SQLGetInfo-Funktion

Konformität
Eingeführte Version: ODBC 1.0-Standards Compliance: ISO 92

Zusammenfassung
SQLGetInfo gibt allgemeine Informationen zum Treiber und zur Datenquelle zurück, die einer Verbindung zugeordnet sind.

Syntax

  
SQLRETURN SQLGetInfo(  
     SQLHDBC         ConnectionHandle,  
     SQLUSMALLINT    InfoType,  
     SQLPOINTER      InfoValuePtr,  
     SQLSMALLINT     BufferLength,  
     SQLSMALLINT *   StringLengthPtr);  

Argumente

ConnectionHandle
[Eingabe] Verbindungshandle.

Infotyp
[Eingabe] Art der Informationen.

InfoValuePtr
[Ausgabe] Zeiger auf einen Puffer, in dem die Informationen zurückgegeben werden sollen. Je nach angefordertem InfoType werden die folgenden Informationen zurückgegeben: eine NULL-endende Zeichenfolge, ein SQLUSMALLINT-Wert, eine SQLUINTEGER-Bitmaske, ein SQLUINTEGER-Flag, ein SQLUINTEGER-Binärwert oder ein SQLULEN-Wert.

Wenn das InfoType-Argument SQL_DRIVER_HDESC oder SQL_DRIVER_HSTMT ist, ist das InfoValuePtr-Argument sowohl Eingabe als auch Ausgabe. (Weitere Informationen finden Sie in den SQL_DRIVER_HDESC- oder SQL_DRIVER_HSTMT-Deskriptoren weiter unten in dieser Funktionsbeschreibung.)

Wenn InfoValuePtr NULL ist, gibt StringLengthPtr weiterhin die Gesamtzahl der Bytes (mit Ausnahme des NULL-Terminierungszeichens für Zeichendaten) zurück, die im Puffer zurückgegeben werden können, auf den InfoValuePtr verweist.

BufferLength
[Eingabe] Länge des *InfoValuePtr-Puffers . Wenn der Wert in *InfoValuePtr keine Zeichenfolge ist oder InfoValuePtr ein NULL-Zeiger ist, wird das BufferLength-Argument ignoriert. Der Treiber geht davon aus, dass die Größe von *InfoValuePtr SQLUSMALLINT oder SQLUINTEGER ist, basierend auf dem InfoType. Wenn *InfoValuePtr eine Unicode-Zeichenfolge ist (beim Aufrufen von SQLGetInfoW), muss das BufferLength-Argument eine gerade Zahl sein. Andernfalls wird SQLSTATE HY090 (Ungültige Zeichenfolgen- oder Pufferlänge) zurückgegeben.

StringLengthPtr
[Ausgabe] Zeiger auf einen Puffer, in dem die Gesamtzahl der Bytes (mit Ausnahme des NULL-Terminierungszeichens für Zeichendaten) zurückgegeben werden soll, die in *InfoValuePtr zurückgegeben werden können.

Wenn die Anzahl der zurückzugebenden Bytes für Zeichendaten größer oder gleich BufferLength ist, werden die Informationen in *InfoValuePtr in BufferLength bytes minus der Länge eines NULL-Terminierungszeichens abgeschnitten und vom Treiber null beendet.

Für alle anderen Datentypen wird der Wert von BufferLength ignoriert, und der Treiber geht davon aus, dass die Größe von *InfoValuePtr SQLUSMALLINT oder SQLUINTEGER ist, je nach InfoType.

Gibt zurück

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR oder SQL_INVALID_HANDLE.

Diagnose

Wenn SQLGetInfo entweder SQL_ERROR oder SQL_SUCCESS_WITH_INFO zurückgibt, kann ein zugeordneter SQLSTATE-Wert abgerufen werden, indem SQLGetDiagRec mit einem HandleType von SQL_HANDLE_DBC und einem Handle von ConnectionHandle aufgerufen wird. In der folgenden Tabelle sind die SQLSTATE-Werte aufgeführt, die in der Regel von SQLGetInfo zurückgegeben werden, und die einzelnen Werte werden im Kontext dieser Funktion erläutert. die Notation "(DM)" steht vor den Beschreibungen von SQLSTATEs, die vom Treiber-Manager zurückgegeben werden. Der Rückgabecode, der jedem SQLSTATE-Wert zugeordnet ist, ist SQL_ERROR, sofern nicht anders angegeben.

SQLSTATE Fehler BESCHREIBUNG
01000 Allgemeine Warnung Treiberspezifische Informationsmeldung. (Funktion gibt SQL_SUCCESS_WITH_INFO zurück.)
01004 Zeichenfolgendaten, rechts abgeschnitten Der Puffer *InfoValuePtr war nicht groß genug, um alle angeforderten Informationen zurückzugeben. Daher wurden die Informationen abgeschnitten. Die Länge der angeforderten Informationen in ihrer unwahren Form wird in *StringLengthPtr zurückgegeben. (Funktion gibt SQL_SUCCESS_WITH_INFO zurück.)
08003 Verbindung nicht geöffnet (DM) Der Typ der in InfoType angeforderten Informationen erfordert eine offene Verbindung. Von den von ODBC reservierten Informationstypen können nur SQL_ODBC_VER ohne offene Verbindung zurückgegeben werden.
08S01 Kommunikationslinkfehler Die Kommunikationsverbindung zwischen dem Treiber und der Datenquelle, mit der der Treiber verbunden wurde, ist fehlgeschlagen, bevor die Verarbeitung der Funktion abgeschlossen wurde.
HY000 Allgemeiner Fehler Es ist ein Fehler aufgetreten, für den kein spezifischer SQLSTATE-Wert vorhanden war und für den keine implementierungsspezifische SQLSTATE definiert wurde. Die von SQLGetDiagRec im *MessageText-Puffer zurückgegebene Fehlermeldung beschreibt den Fehler und seine Ursache.
HY001 Fehler bei der Speicherbelegung Der Treiber konnte arbeitsspeicher nicht zuordnen, der zur Unterstützung der Ausführung oder Fertigstellung der Funktion erforderlich ist.
HY010 Funktionssequenzfehler (DM) SQLExecute, SQLExecDirect oder SQLMoreResults wurde für statementHandle aufgerufen und SQL_PARAM_DATA_AVAILABLE zurückgegeben. Diese Funktion wurde aufgerufen, bevor Daten für alle gestreamten Parameter abgerufen wurden.
HY013 Fehler bei der Speicherverwaltung Der Funktionsaufruf konnte nicht verarbeitet werden, weil auf die zugrunde liegenden Speicherobjekte nicht zugegriffen werden konnte, möglicherweise aufgrund von geringen Arbeitsspeicherbedingungen.
HY024 Ungültiger Attributwert (DM) Das InfoType-Argument wurde SQL_DRIVER_HSTMT, und der Wert, auf den InfoValuePtr verweist, war kein gültiges Anweisungshandle.

(DM) Das InfoType-Argument wurde SQL_DRIVER_HDESC, und der Wert, auf den InfoValuePtr verweist, war kein gültiges Deskriptorhandle.
HY090 Ungültige Zeichenfolgen- oder Pufferlänge (DM) Der für das Argument BufferLength angegebene Wert war kleiner als 0.

(DM) Der für BufferLength angegebene Wert war eine ungerade Zahl, und *InfoValuePtr hatte einen Unicode-Datentyp.
HY096 Informationstyp außerhalb des Bereichs Der für das Argument InfoType angegebene Wert war für die vom Treiber unterstützte ODBC-Version ungültig.
HY117 Die Verbindung wird aufgrund eines unbekannten Transaktionsstatus angehalten. Nur trenn- und schreibgeschützte Funktionen sind zulässig. (DM) Weitere Informationen zum angehaltenen Zustand finden Sie unter SQLEndTran-Funktion.
HYC00 Optionales Feld nicht implementiert Der für das Argument InfoType angegebene Wert war ein treiberspezifischer Wert, der vom Treiber nicht unterstützt wird.
HYT01 Verbindungstimeout abgelaufen Der Zeitraum für das Verbindungstimeout ist abgelaufen, bevor die Datenquelle auf die Anforderung geantwortet hat. Der Verbindungstimeoutzeitraum wird über SQLSetConnectAttr festgelegt, SQL_ATTR_CONNECTION_TIMEOUT.
IM001 Treiber unterstützt diese Funktion nicht. (DM) Der Treiber, der connectionHandle entspricht, unterstützt die Funktion nicht.

Kommentare

Die derzeit definierten Informationstypen werden weiter unten in diesem Abschnitt unter "Informationstypen" angezeigt. Es wird erwartet, dass mehr definiert werden, um verschiedene Datenquellen zu nutzen. Eine Reihe von Informationstypen wird von ODBC reserviert. Treiberentwickler müssen Werte für ihre eigene treiberspezifische Verwendung über Open Group reservieren. SQLGetInfo führt keine Unicode-Konvertierung oder -Thunking durch (siehe Anhang A: ODBC-Fehlercodes der ODBC-Programmiererreferenz) für treiberdefinierte InfoTypes. Weitere Informationen finden Sie unter Treiberspezifische Datentypen, Deskriptortypen, Informationstypen, Diagnosetypen und Attribute. Das Format der in *InfoValuePtr zurückgegebenen Informationen hängt vom angeforderten InfoType ab. SQLGetInfo gibt Informationen in einem von fünf verschiedenen Formaten zurück:

  • Eine NULL-Zeichenfolge

  • Ein SQLUSMALLINT-Wert

  • Eine SQLUINTEGER-Bitmaske

  • Ein SQLUINTEGER-Wert

  • Ein SQLUINTEGER-Binärwert

Das Format der folgenden Informationstypen wird in der Beschreibung des Typs notiert. Die Anwendung muss den in *InfoValuePtr zurückgegebenen Wert entsprechend umwandeln. Ein Beispiel dafür, wie eine Anwendung Daten aus einer SQLUINTEGER-Bitmaske abrufen kann, finden Sie unter "Codebeispiel".

Ein Treiber muss einen Wert für jeden Informationstyp zurückgeben, der in den folgenden Tabellen definiert ist. Wenn ein Informationstyp nicht auf den Treiber oder die Datenquelle zutrifft, gibt der Treiber einen der in der folgenden Tabelle aufgeführten Werte zurück.

Informationstyp Wert
Zeichenfolge ("Y" oder "N") "N"
Zeichenfolge (nicht "Y" oder "N") leere Zeichenfolge
SQLUSMALLINT 0
SQLUINTEGER-Bitmaske oder SQLUINTEGER-Binärwert 0L

Wenn eine Datenquelle beispielsweise keine Prozeduren unterstützt, gibt SQLGetInfo die Werte zurück, die in der folgenden Tabelle für die Werte von InfoType aufgeführt sind, die sich auf Prozeduren beziehen.

Infotyp Wert
SQL_PROCEDURES "N"
SQL_ACCESSIBLE_PROCEDURES "N"
SQL_MAX_PROCEDURE_NAME_LEN 0
SQL_PROCEDURE_TERM leere Zeichenfolge

SQLGetInfo gibt SQLSTATE HY096 (Ungültiger Argumentwert) für Werte von InfoType zurück, die sich im Bereich der Informationstypen befinden, die für die Verwendung durch ODBC reserviert sind, aber nicht von der vom Treiber unterstützten ODBC-Version definiert sind. Um zu bestimmen, welche ODBC-Version ein Treiber erfüllt, ruft eine Anwendung SQLGetInfo mit dem SQL_DRIVER_ODBC_VER Informationstyp auf. SQLGetInfo gibt SQLSTATE HYC00 (Optionales Feature nicht implementiert) für Werte von InfoType zurück, die sich im Bereich von Informationstypen befinden, die für die treiberspezifische Verwendung reserviert sind, aber vom Treiber nicht unterstützt werden.

Alle Aufrufe von SQLGetInfo erfordern eine offene Verbindung, außer wenn infoType SQL_ODBC_VER ist, wodurch die Version des Treiber-Managers zurückgegeben wird.

Informationstypen

In diesem Abschnitt werden die von SQLGetInfo unterstützten Informationstypen aufgelistet. Informationstypen werden kategorisiert und alphabetisch aufgelistet. Informationstypen, die für ODBC 3*.x* hinzugefügt oder umbenannt wurden, werden ebenfalls aufgeführt.

Treiberinformationen

Die folgenden Werte des InfoType-Arguments geben Informationen zum ODBC-Treiber zurück, z. B. die Anzahl der aktiven Anweisungen, den Datenquellennamen und die Konformitätsstufe der Schnittstellenstandards:

SQL_ACTIVE_ENVIRONMENTS
SQL_ASYNC_DBC_FUNCTIONS
SQL_ASYNC_MODE
SQL_ASYNC_NOTIFICATION
SQL_BATCH_ROW_COUNT
SQL_BATCH_SUPPORT
SQL_DATA_SOURCE_NAME
SQL_DRIVER_AWARE_POOLING_SUPPORTED
SQL_DRIVER_HDBC
SQL_DRIVER_HDESC
SQL_DRIVER_HENV
SQL_DRIVER_HLIB
SQL_DRIVER_HSTMT
SQL_DRIVER_NAME
SQL_DRIVER_ODBC_VER
SQL_DRIVER_VER
SQL_DYNAMIC_CURSOR_ATTRIBUTES1
SQL_DYNAMIC_CURSOR_ATTRIBUTES2
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1

SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2
SQL_FILE_USAGE
SQL_GETDATA_EXTENSIONS
SQL_INFO_SCHEMA_VIEWS
SQL_KEYSET_CURSOR_ATTRIBUTES1
SQL_KEYSET_CURSOR_ATTRIBUTES2
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS
SQL_MAX_CONCURRENT_ACTIVITIES
SQL_MAX_DRIVER_CONNECTIONS
SQL_ODBC_INTERFACE_CONFORMANCE
SQL_ODBC_STANDARD_CLI_CONFORMANCE
SQL_ODBC_VER
SQL_PARAM_ARRAY_ROW_COUNTS
SQL_PARAM_ARRAY_SELECTS
SQL_ROW_UPDATES
SQL_SEARCH_PATTERN_ESCAPE
SQL_SERVER_NAME
SQL_STATIC_CURSOR_ATTRIBUTES1
SQL_STATIC_CURSOR_ATTRIBUTES2

Hinweis

Bei der Implementierung von SQLGetInfo kann ein Treiber die Leistung verbessern, indem er die Anzahl der Vom Server gesendeten oder angeforderten Informationen minimiert.

DBMS-Produktinformationen

Die folgenden Werte des InfoType-Arguments geben Informationen zum DBMS-Produkt zurück, z. B. den DBMS-Namen und die DBMS-Version:

SQL_DATABASE_NAME
SQL_DBMS_NAME

SQL_DBMS_VER

Datenquelleninformationen

Die folgenden Werte des InfoType-Arguments geben Informationen zur Datenquelle zurück, z. B. Cursoreigenschaften und Transaktionsfunktionen:

SQL_ACCESSIBLE_PROCEDURES
SQL_ACCESSIBLE_TABLES
SQL_BOOKMARK_PERSISTENCE
SQL_CATALOG_TERM
SQL_COLLATION_SEQ
SQL_CONCAT_NULL_BEHAVIOR
SQL_CURSOR_COMMIT_BEHAVIOR
SQL_CURSOR_ROLLBACK_BEHAVIOR
SQL_CURSOR_SENSITIVITY
SQL_DATA_SOURCE_READ_ONLY
SQL_DEFAULT_TXN_ISOLATION
SQL_DESCRIBE_PARAMETER

SQL_MULT_RESULT_SETS
SQL_MULTIPLE_ACTIVE_TXN
SQL_NEED_LONG_DATA_LEN
SQL_NULL_COLLATION
SQL_PROCEDURE_TERM
SQL_SCHEMA_TERM
SQL_SCROLL_OPTIONS
SQL_TABLE_TERM
SQL_TXN_CAPABLE
SQL_TXN_ISOLATION_OPTION
SQL_USER_NAME

Unterstützte SQL-Instanzen

Die folgenden Werte des InfoType-Arguments geben Informationen zu den SQL-Anweisungen zurück, die von der Datenquelle unterstützt werden. Die SQL-Syntax jedes Features, das von diesen Informationstypen beschrieben wird, ist die SQL-92-Syntax. Diese Informationstypen beschreiben nicht vollständig die gesamte SQL-92-Grammatik. Stattdessen beschreiben sie die Teile der Grammatik, für die Datenquellen in der Regel unterschiedliche Unterstützungsebenen bieten. Insbesondere werden die meisten DDL-Anweisungen in SQL-92 behandelt.

Anwendungen sollten die allgemeine Ebene der unterstützten Grammatik anhand des SQL_SQL_CONFORMANCE Informationstyps bestimmen und die anderen Informationstypen verwenden, um Variationen von der angegebenen Standardkonformitätsstufe zu bestimmen.

SQL_AGGREGATE_FUNCTIONS
SQL_ALTER_DOMAIN
SQL_ALTER_SCHEMA
SQL_ALTER_TABLE
SQL_ANSI_SQL_DATETIME_LITERALS
SQL_CATALOG_LOCATION
SQL_CATALOG_NAME
SQL_CATALOG_NAME_SEPARATOR
SQL_CATALOG_USAGE
SQL_COLUMN_ALIAS
SQL_CORRELATION_NAME
SQL_CREATE_ASSERTION
SQL_CREATE_CHARACTER_SET
SQL_CREATE_COLLATION
SQL_CREATE_DOMAIN
SQL_CREATE_SCHEMA
SQL_CREATE_TABLE
SQL_CREATE_TRANSLATION
SQL_DDL_INDEX
SQL_DROP_ASSERTION
SQL_DROP_CHARACTER_SET
SQL_DROP_COLLATION
SQL_DROP_DOMAIN
SQL_DROP_SCHEMA

SQL_DROP_TABLE
SQL_DROP_TRANSLATION
SQL_DROP_VIEW
SQL_EXPRESSIONS_IN_ORDERBY
SQL_GROUP_BY
SQL_IDENTIFIER_CASE
SQL_IDENTIFIER_QUOTE_CHAR
SQL_INDEX_KEYWORDS
SQL_INSERT_STATEMENT
SQL_INTEGRITY
SQL_KEYWORDS
SQL_LIKE_ESCAPE_CLAUSE
SQL_NON_NULLABLE_COLUMNS
SQL_OJ_CAPABILITIES
SQL_ORDER_BY_COLUMNS_IN_SELECT
SQL_OUTER_JOINS
SQL_PROCEDURES
SQL_QUOTED_IDENTIFIER_CASE
SQL_SCHEMA_USAGE
SQL_SPECIAL_CHARACTERS
SQL_SQL_CONFORMANCE
SQL_SUBQUERIES
SQL_UNION

SQL-Grenzwerte

Die folgenden Werte des InfoType-Arguments geben Informationen zu den Grenzwerten zurück, die auf Bezeichner und Klauseln in SQL-Anweisungen angewendet werden, z. B. die maximale Länge von Bezeichnern und die maximale Anzahl von Spalten in einer Auswahlliste. Einschränkungen können entweder vom Treiber oder von der Datenquelle auferlegt werden.

SQL_MAX_BINARY_LITERAL_LEN
SQL_MAX_CATALOG_NAME_LEN
SQL_MAX_CHAR_LITERAL_LEN
SQL_MAX_COLUMN_NAME_LEN
SQL_MAX_COLUMNS_IN_GROUP_BY
SQL_MAX_COLUMNS_IN_INDEX
SQL_MAX_COLUMNS_IN_ORDER_BY
SQL_MAX_COLUMNS_IN_SELECT
SQL_MAX_COLUMNS_IN_TABLE
SQL_MAX_CURSOR_NAME_LEN

SQL_MAX_IDENTIFIER_LEN
SQL_MAX_INDEX_SIZE
SQL_MAX_PROCEDURE_NAME_LEN
SQL_MAX_ROW_SIZE
SQL_MAX_ROW_SIZE_INCLUDES_LONG
SQL_MAX_SCHEMA_NAME_LEN
SQL_MAX_STATEMENT_LEN
SQL_MAX_TABLE_NAME_LEN
SQL_MAX_TABLES_IN_SELECT
SQL_MAX_USER_NAME_LEN

Skalarfunktionsinformationen

Die folgenden Werte des InfoType-Arguments geben Informationen zu den Skalarfunktionen zurück, die von der Datenquelle und dem Treiber unterstützt werden. Weitere Informationen zu Skalarfunktionen finden Sie im Anhang E: Skalarfunktionen.

SQL_CONVERT_FUNCTIONS
SQL_NUMERIC_FUNCTIONS
SQL_STRING_FUNCTIONS
SQL_SYSTEM_FUNCTIONS

SQL_TIMEDATE_ADD_INTERVALS
SQL_TIMEDATE_DIFF_INTERVALS
SQL_TIMEDATE_FUNCTIONS

Konvertierungsinformationen

Die folgenden Werte des InfoType-Arguments geben eine Liste der SQL-Datentypen zurück, in die die Datenquelle den angegebenen SQL-Datentyp mit der CONVERT-Skalarfunktion konvertieren kann:

SQL_CONVERT_BIGINT
SQL_CONVERT_BINARY
SQL_CONVERT_BIT
SQL_CONVERT_CHAR
SQL_CONVERT_DATE
SQL_CONVERT_DECIMAL
SQL_CONVERT_DOUBLE
SQL_CONVERT_FLOAT
SQL_CONVERT_INTEGER
SQL_CONVERT_INTERVAL_DAY_TIME
SQL_CONVERT_INTERVAL_YEAR_MONTH

SQL_CONVERT_LONGVARBINARY
SQL_CONVERT_LONGVARCHAR
SQL_CONVERT_NUMERIC
SQL_CONVERT_REAL
SQL_CONVERT_SMALLINT
SQL_CONVERT_TIME
SQL_CONVERT_TIMESTAMP
SQL_CONVERT_TINYINT
SQL_CONVERT_VARBINARY
SQL_CONVERT_VARCHAR

Für ODBC 3.x hinzugefügte Informationstypen

Die folgenden Werte des InfoType-Arguments wurden für ODBC 3.x hinzugefügt:

SQL_ACTIVE_ENVIRONMENTS
SQL_AGGREGATE_FUNCTIONS
SQL_ALTER_DOMAIN
SQL_ALTER_SCHEMA
SQL_ANSI_SQL_DATETIME_LITERALS
SQL_ASYNC_DBC_FUNCTIONS
SQL_ASYNC_MODE
SQL_ASYNC_NOTIFICATION
SQL_BATCH_ROW_COUNT
SQL_BATCH_SUPPORT
SQL_CATALOG_NAME
SQL_COLLATION_SEQ
SQL_CONVERT_INTERVAL_DAY_TIME
SQL_CONVERT_INTERVAL_YEAR_MONTH
SQL_CREATE_ASSERTION
SQL_CREATE_CHARACTER_SET
SQL_CREATE_COLLATION
SQL_CREATE_DOMAIN
SQL_CREATE_SCHEMA
SQL_CREATE_TABLE
SQL_CREATE_TRANSLATION
SQL_CURSOR_SENSITIVITY
SQL_DDL_INDEX
SQL_DESCRIBE_PARAMETER
SQL_DM_VER

SQL_DRIVER_AWARE_POOLING_SUPPORTED
SQL_DRIVER_HDESC
SQL_DROP_ASSERTION
SQL_DROP_CHARACTER_SET
SQL_DROP_COLLATION
SQL_DROP_DOMAIN
SQL_DROP_SCHEMA
SQL_DROP_TABLE
SQL_DROP_TRANSLATION
SQL_DROP_VIEW
SQL_DYNAMIC_CURSOR_ATTRIBUTES1
SQL_DYNAMIC_CURSOR_ATTRIBUTES2
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2
SQL_INFO_SCHEMA_VIEWS
SQL_INSERT_STATEMENT
SQL_KEYSET_CURSOR_ATTRIBUTES1
SQL_KEYSET_CURSOR_ATTRIBUTES2
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS
SQL_MAX_IDENTIFIER_LEN
SQL_PARAM_ARRAY_ROW_COUNTS
SQL_PARAM_ARRAY_SELECTS
SQL_STATIC_CURSOR_ATTRIBUTES1
SQL_STATIC_CURSOR_ATTRIBUTES2
SQL_XOPEN_CLI_YEAR

Für ODBC 3.x umbenannte Informationstypen

Die folgenden Werte des InfoType-Arguments wurden für ODBC 3.x umbenannt.

Alter Name Neuer Name
SQL_ACTIVE_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS
SQL_ACTIVE_STATEMENTS SQL_MAX_CONCURRENT_ACTIVITIES
SQL_MAX_OWNER_NAME_LEN SQL_MAX_SCHEMA_NAME_LEN
SQL_MAX_QUALIFIER_NAME_LEN SQL_MAX_CATALOG_NAME_LEN
SQL_ODBC_SQL_OPT_IEF SQL_INTEGRITY
SQL_OWNER_TERM SQL_SCHEMA_TERM
SQL_OWNER_USAGE SQL_SCHEMA_USAGE
SQL_QUALIFIER_LOCATION SQL_CATALOG_LOCATION
SQL_QUALIFIER_NAME_SEPARATOR SQL_CATALOG_NAME_SEPARATOR
SQL_QUALIFIER_TERM SQL_CATALOG_TERM
SQL_QUALIFIER_USAGE SQL_CATALOG_USAGE

Informationstypen in ODBC 3.x veraltet

Die folgenden Werte des InfoType-Arguments sind in ODBC 3.x veraltet. ODBC 3.x-Treiber müssen diese Informationstypen weiterhin unterstützen, um die Abwärtskompatibilität mit ODBC 2.x-Anwendungen zu gewährleisten. (Weitere Informationen zu diesen Typen finden Sie unter SQLGetInfo-Unterstützung in Anhang G: Treiberrichtlinien für Abwärtskompatibilität.)

SQL_FETCH_DIRECTION
SQL_LOCK_TYPES
SQL_ODBC_API_CONFORMANCE
SQL_ODBC_SQL_CONFORMANCE

SQL_POS_OPERATIONS
SQL_POSITIONED_STATEMENTS
SQL_SCROLL_CONCURRENCY
SQL_STATIC_SENSITIVITY

Beschreibungen des Informationstyps

In der folgenden Tabelle sind die einzelnen Informationstypen, die Version von ODBC, in der sie eingeführt wurde, und ihre Beschreibung alphabetisch aufgeführt.

Informationstyp ODBC-Version BESCHREIBUNG
SQL_ACCESSIBLE_PROCEDURES 1.0 Eine Zeichenfolge: "Y", wenn der Benutzer alle von SQLProcedures zurückgegebenen Prozeduren ausführen kann; "N", wenn möglicherweise Prozeduren zurückgegeben werden, die der Benutzer nicht ausführen kann.
SQL_ACCESSIBLE_TABLES 1.0 Eine Zeichenfolge: "Y", wenn dem Benutzer SELECT-Berechtigungen für alle von SQLTables zurückgegebenen Tabellen garantiert sind; "N", wenn möglicherweise Tabellen zurückgegeben werden, auf die der Benutzer nicht zugreifen kann.
SQL_ACTIVE_ENVIRONMENTS 3.0 Ein SQLUSMALLINT-Wert, der die maximale Anzahl aktiver Umgebungen angibt, die der Treiber unterstützen kann. Wenn kein Grenzwert angegeben ist oder der Grenzwert unbekannt ist, wird dieser Wert auf 0 (null) festgelegt.
SQL_AGGREGATE_FUNCTIONS 3.0 Unterstützung einer SQLUINTEGER-Bitmaske, die Aggregationsfunktionen aufzählt:
SQL_AF_ALL
SQL_AF_AVG
SQL_AF_COUNT
SQL_AF_DISTINCT
SQL_AF_MAX
SQL_AF_MIN
SQL_AF_SUM

Ein SQL-92-Treiber, der der Einstiegsebene entspricht, gibt immer alle diese Optionen wie unterstützt zurück.
SQL_ALTER_DOMAIN 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der ALTER DOMAIN-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird. Ein SQL-92-Treiber mit vollständiger Ebene gibt immer alle Bitmasken zurück. Der Rückgabewert "0" bedeutet, dass die ALTER DOMAIN-Anweisung nicht unterstützt wird.

Die SQL-92- oder FIPS-Konformitätsebene, auf der dieses Feature unterstützt werden muss, wird in Klammern neben jeder Bitmaske angezeigt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_AD_ADD_DOMAIN_CONSTRAINT = Hinzufügen einer Domäneneinschränkung wird unterstützt (Vollständige Ebene)
SQL_AD_ADD_DOMAIN_DEFAULT = <Standardklausel> für alter domain><set domain set wird unterstützt (Vollständige Ebene)
SQL_AD_CONSTRAINT_NAME_DEFINITION = <Einschränkungsnamendefinitionsklausel> wird für die Benennung von Domäneneinschränkungen (Zwischenebene) unterstützt.
SQL_AD_DROP_DOMAIN_CONSTRAINT = <drop domain constraint clause> is supported (Full level)
SQL_AD_DROP_DOMAIN_DEFAULT = <Standardklausel> für alter domain><drop domain wird unterstützt (Vollständige Ebene)

Die folgenden Bits geben die unterstützten <Einschränkungsattribute an> , wenn <die Domäneneinschränkung> hinzufügen unterstützt wird (das SQL_AD_ADD_DOMAIN_CONSTRAINT Bit ist festgelegt):
SQL_AD_ADD_CONSTRAINT_DEFERRABLE (Vollständige Ebene)
SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE (Vollständige Ebene)
SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED (Vollständige Ebene)
SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE (Vollständige Ebene)
SQL_ALTER_TABLE 2.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der alter table-Anweisung aufzählt, die von der Datenquelle unterstützt wird.

Die SQL-92- oder FIPS-Konformitätsebene, auf der dieses Feature unterstützt werden muss, wird in Klammern neben jeder Bitmaske angezeigt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_AT_ADD_COLUMN_COLLATION = <Spaltenklausel> hinzufügen wird unterstützt, mit der Möglichkeit zum Angeben der Spaltensortierung (Vollständige Ebene) (ODBC 3.0)
SQL_AT_ADD_COLUMN_DEFAULT = <Spaltenklausel hinzufügen> wird unterstützt, mit der Möglichkeit, Spaltenstandardeinstellungen anzugeben (FIPS-Übergangsebene) (ODBC 3.0)
SQL_AT_ADD_COLUMN_SINGLE = <Spalte> hinzufügen wird unterstützt (FIPS-Übergangsebene) (ODBC 3.0)
SQL_AT_ADD_CONSTRAINT = <Spaltenklausel hinzufügen> wird unterstützt, mit der Möglichkeit zum Angeben von Spalteneinschränkungen (FIPS-Übergangsebene) (ODBC 3.0)
SQL_AT_ADD_TABLE_CONSTRAINT = <Tabelleneinschränkungsklausel> hinzufügen wird unterstützt (FIPS-Übergangsebene) (ODBC 3.0)
SQL_AT_CONSTRAINT_NAME_DEFINITION = <Einschränkungsnamendefinition> wird für die Benennung von Spalten- und Tabelleneinschränkungen (Zwischenebene) unterstützt (ODBC 3.0)
SQL_AT_DROP_COLUMN_CASCADE = <Drop Column> CASCADE wird unterstützt (FIPS-Übergangsebene) (ODBC 3.0)
SQL_AT_DROP_COLUMN_DEFAULT = <Standardklausel> zum Löschen><der Spaltenablage wird unterstützt (Zwischenebene) (ODBC 3.0)
SQL_AT_DROP_COLUMN_RESTRICT = <Drop Column> RESTRICT is supported (FIPS Transitional level) (ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE (ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = <Drop Column> RESTRICT wird unterstützt (FIPS-Übergangsebene) (ODBC 3.0)
SQL_AT_SET_COLUMN_DEFAULT = <Standardklausel> für die Alter-Spaltensatzspalte><wird unterstützt (Zwischenebene) (ODBC 3.0)

Die folgenden Bits geben die Unterstützungseinschränkungsattribute <> an, wenn die Angabe von Spalten- oder Tabelleneinschränkungen unterstützt wird (das SQL_AT_ADD_CONSTRAINT Bit ist festgelegt):
SQL_AT_CONSTRAINT_INITIALLY_DEFERRED (Vollständige Ebene) (ODBC 3.0)
SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE (Vollständige Ebene) (ODBC 3.0)
SQL_AT_CONSTRAINT_DEFERRABLE (Vollständige Ebene) (ODBC 3.0)
SQL_AT_CONSTRAINT_NON_DEFERRABLE (Vollständige Ebene) (ODBC 3.0)
SQL_ASYNC_DBC_FUNCTIONS 3.8 Ein SQLUINTEGER-Wert, der angibt, ob der Treiber Funktionen asynchron im Verbindungshandle ausführen kann.

SQL_ASYNC_DBC_CAPABLE = Der Treiber kann Verbindungsfunktionen asynchron ausführen.
SQL_ASYNC_DBC_NOT_CAPABLE = Der Treiber kann Verbindungsfunktionen nicht asynchron ausführen.
SQL_ASYNC_MODE 3.0 Ein SQLUINTEGER-Wert, der die Ebene der asynchronen Unterstützung im Treiber angibt:

SQL_AM_CONNECTION = Asynchrone Ausführung auf Verbindungsebene wird unterstützt. Entweder befinden sich alle Anweisungshandles, die einem bestimmten Verbindungshandle zugeordnet sind, im asynchronen Modus oder alle im synchronen Modus. Ein Anweisungshandle für eine Verbindung kann sich nicht im asynchronen Modus befinden, während sich ein anderes Anweisungshandle für dieselbe Verbindung im synchronen Modus befindet und umgekehrt.
SQL_AM_STATEMENT = Asynchrone Ausführung auf Anweisungsebene wird unterstützt. Einige Anweisungshandles, die einem Verbindungshandle zugeordnet sind, können sich im asynchronen Modus befinden, während sich andere Anweisungshandles für dieselbe Verbindung im synchronen Modus befinden.
SQL_AM_NONE = Der asynchrone Modus wird nicht unterstützt.
SQL_ASYNC_NOTIFICATION 3.8 Ein SQLUINTEGER-Wert, der angibt, ob der Treiber asynchrone Benachrichtigungen unterstützt:

SQL_ASYNC_NOTIFICATION_CAPABLE = Asynchrone Ausführungsbenachrichtigung wird vom Treiber unterstützt.
SQL_ASYNC_NOTIFICATION_NOT_CAPABLE = Asynchrone Ausführungsbenachrichtigung wird vom Treiber nicht unterstützt.

Es gibt zwei Kategorien von asynchronen ODBC-Vorgängen: asynchrone Vorgänge auf Verbindungsebene und asynchrone Vorgänge auf Anweisungsebene. Wenn ein Treiber SQL_ASYNC_NOTIFICATION_CAPABLE zurückgibt, muss er die Benachrichtigung für alle APIs unterstützen, dass er asynchron ausgeführt werden kann.
SQL_BATCH_ROW_COUNT 3.0 Eine SQLUINTEGER-Bitmaske, die das Verhalten des Treibers in Bezug auf die Verfügbarkeit von Zeilenzählungen aufzählt. Die folgenden Bitmasken werden zusammen mit dem Informationstyp verwendet:

SQL_BRC_ROLLED_UP = Zeilenanzahlen für aufeinanderfolgende INSERT-, DELETE- oder UPDATE-Anweisungen werden in einen Rollup zusammengefasst. Wenn dieses Bit nicht festgelegt ist, sind zeilenanzahlen für jede Anweisung verfügbar.
SQL_BRC_PROCEDURES = Zeilenanzahlen, falls vorhanden, sind verfügbar, wenn ein Batch in einer gespeicherten Prozedur ausgeführt wird. Wenn Zeilenanzahlen verfügbar sind, können sie je nach SQL_BRC_ROLLED_UP Bit ein Rollup oder einzeln verfügbar sein.
SQL_BRC_EXPLICIT = Zeilenanzahl, falls vorhanden, sind verfügbar, wenn ein Batch direkt durch Aufrufen von SQLExecute oder SQLExecDirect ausgeführt wird. Wenn Zeilenanzahlen verfügbar sind, können sie je nach SQL_BRC_ROLLED_UP Bit ein Rollup oder einzeln verfügbar sein.
SQL_BATCH_SUPPORT 3.0 Eine SQLUINTEGER-Bitmaske, die die Unterstützung des Treibers für Batches aufzählt. Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Ebene unterstützt wird:

SQL_BS_SELECT_EXPLICIT = Der Treiber unterstützt explizite Batches, die resultsetgenerierende Anweisungen aufweisen können.
SQL_BS_ROW_COUNT_EXPLICIT = Der Treiber unterstützt explizite Batches, die Anweisungen zum Generieren von Zeilenanzahlen aufweisen können.
SQL_BS_SELECT_PROC = Der Treiber unterstützt explizite Prozeduren, die über resultsetgenerierende Anweisungen verfügen können.
SQL_BS_ROW_COUNT_PROC = Der Treiber unterstützt explizite Prozeduren, die Anweisungen zum Generieren von Zeilenanzahlen aufweisen können.
SQL_BOOKMARK_PERSISTENCE 2.0 Eine SQLUINTEGER-Bitmaske, die die Vorgänge aufzählt, über die Lesezeichen beibehalten werden. Die folgenden Bitmasken werden zusammen mit dem Flag verwendet, um zu bestimmen, über welche Optionen Lesezeichen beibehalten werden:

SQL_BP_CLOSE = Lesezeichen sind gültig, nachdem eine Anwendung SQLFreeStmt mit der Option SQL_CLOSE aufgerufen hat, oder SQLCloseCursor , um den Cursor zu schließen, der einer Anweisung zugeordnet ist.
SQL_BP_DELETE = Das Lesezeichen für eine Zeile ist gültig, nachdem diese Zeile gelöscht wurde.
SQL_BP_DROP = Lesezeichen sind gültig, nachdem eine Anwendung SQLFreeHandle mit einem HandleType von SQL_HANDLE_STMT aufgerufen hat, um eine Anweisung zu löschen.
SQL_BP_TRANSACTION = Lesezeichen sind gültig, nachdem eine Anwendung einen Commit oder ein Rollback für eine Transaktion ausgeführt hat.
SQL_BP_UPDATE = Das Lesezeichen für eine Zeile ist gültig, nachdem jede Spalte in dieser Zeile aktualisiert wurde, einschließlich Schlüsselspalten.
SQL_BP_OTHER_HSTMT = Ein Lesezeichen, das einer Anweisung zugeordnet ist, kann mit einer anderen Anweisung verwendet werden. Sofern nicht SQL_BP_CLOSE oder SQL_BP_DROP angegeben ist, muss der Cursor für die erste Anweisung geöffnet sein.
SQL_CATALOG_LOCATION 2.0 Ein SQLUSMALLINT-Wert, der die Position des Katalogs in einem qualifizierten Tabellennamen angibt:

SQL_CL_START
SQL_CL_END
Ein Xbase-Treiber gibt beispielsweise SQL_CL_START zurück, da sich der Verzeichnisname (Katalogname) am Anfang des Tabellennamens befindet, wie in \EMPDATA\EMP. DBF. Ein ORACLE Server-Treiber gibt SQL_CL_END zurück, da sich der Katalog wie in ADMIN am Ende des Tabellennamens befindet. EMP@EMPDATA.

Ein SQL-92 Full Level-konformer Treiber gibt immer SQL_CL_START zurück. Der Wert 0 wird zurückgegeben, wenn Kataloge von der Datenquelle nicht unterstützt werden. Um zu ermitteln, ob Kataloge unterstützt werden, ruft eine Anwendung SQLGetInfo mit dem SQL_CATALOG_NAME Informationstyp auf.

Dieser InfoType wurde für ODBC 3.0 von ODBC 2.0 InfoType SQL_QUALIFIER_LOCATION umbenannt.
SQL_CATALOG_NAME 3.0 Eine Zeichenfolge: "Y", wenn der Server Katalognamen unterstützt, oder "N", wenn dies nicht der Fall ist.

Ein SQL-92 Full Level-konformer Treiber gibt immer "Y" zurück.
SQL_CATALOG_NAME_SEPARATOR 1.0 Eine Zeichenfolge: das Zeichen, das die Datenquelle als Trennzeichen zwischen einem Katalognamen und dem qualifizierten Namenselement definiert, das darauf folgt oder vorangeht.

Eine leere Zeichenfolge wird zurückgegeben, wenn Kataloge von der Datenquelle nicht unterstützt werden. Um zu ermitteln, ob Kataloge unterstützt werden, ruft eine Anwendung SQLGetInfo mit dem SQL_CATALOG_NAME Informationstyp auf. Ein SQL-92 Full Level-konformer Treiber gibt immer "." zurück.

Dieser InfoType wurde für ODBC 3.0 von ODBC 2.0 InfoType SQL_QUALIFIER_NAME_SEPARATOR umbenannt.
SQL_CATALOG_TERM 1.0 Eine Zeichenfolge mit dem Namen des Datenquellenanbieters für einen Katalog; z. B. "Datenbank" oder "Verzeichnis". Diese Zeichenfolge kann in Groß-, Klein- oder Kleinschreibung vorliegen.

Eine leere Zeichenfolge wird zurückgegeben, wenn Kataloge von der Datenquelle nicht unterstützt werden. Um zu ermitteln, ob Kataloge unterstützt werden, ruft eine Anwendung SQLGetInfo mit dem SQL_CATALOG_NAME Informationstyp auf. Ein SQL-92 Full Level-konformer Treiber gibt immer "katalog" zurück.

Dieser InfoType wurde für ODBC 3.0 von ODBC 2.0 InfoType SQL_QUALIFIER_TERM umbenannt.
SQL_CATALOG_USAGE 2.0 Eine SQLUINTEGER-Bitmaske, die die Anweisungen aufzählt, in denen Kataloge verwendet werden können.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, wo Kataloge verwendet werden können:
SQL_CU_DML_STATEMENTS = Kataloge werden in allen Anweisungen der Datenbearbeitungssprache unterstützt: SELECT, INSERT, UPDATE, DELETE und, falls unterstützt, SELECT FOR UPDATE und positioned update and delete-Anweisungen.
SQL_CU_PROCEDURE_INVOCATION = Kataloge werden in der ODBC-Prozeduraufruf-Anweisung unterstützt.
SQL_CU_TABLE_DEFINITION = Kataloge werden in allen Tabellendefinitionsanweisungen unterstützt: CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE und DROP VIEW.
SQL_CU_INDEX_DEFINITION = Kataloge werden in allen Indexdefinitionsanweisungen unterstützt: CREATE INDEX und DROP INDEX.
SQL_CU_PRIVILEGE_DEFINITION = Kataloge werden in allen Berechtigungsdefinitionsanweisungen unterstützt: GRANT und REVOKE.

Der Wert 0 wird zurückgegeben, wenn Kataloge von der Datenquelle nicht unterstützt werden. Um zu ermitteln, ob Kataloge unterstützt werden, ruft eine Anwendung SQLGetInfo mit dem SQL_CATALOG_NAME Informationstyp auf. Ein SQL-92 Full Level-konformer Treiber gibt immer eine Bitmaske zurück, bei der alle diese Bits festgelegt sind.

Dieser InfoType wurde für ODBC 3.0 von ODBC 2.0 InfoType SQL_QUALIFIER_USAGE umbenannt.
SQL_COLLATION_SEQ 3.0 Der Name der Sortierungssequenz. Dies ist eine Zeichenfolge, die den Namen der Standardsortierung für den Standardzeichensatz für diesen Server angibt (z. B. "ISO 8859-1" oder EBCDIC). Wenn dies unbekannt ist, wird eine leere Zeichenfolge zurückgegeben. Ein SQL-92 Full Level-konformer Treiber gibt immer eine nicht leere Zeichenfolge zurück.
SQL_COLUMN_ALIAS 2.0 Eine Zeichenfolge: "Y", wenn die Datenquelle Spaltenalias unterstützt; andernfalls "N".

Ein Spaltenalias ist ein alternativer Name, der mithilfe einer AS-Klausel für eine Spalte in der Auswahlliste angegeben werden kann. Ein SQL-92-treiber, der der Einstiegsebene entspricht, gibt immer "Y" zurück.
SQL_CONCAT_NULL_BEHAVIOR 1.0 Ein SQLUSMALLINT-Wert, der angibt, wie die Datenquelle die Verkettung von Null-Wert-Zeichendatentypspalten mit Nicht-NULL-Wertzeichen-Datentypspalten verarbeitet:
SQL_CB_NULL = Result ist NULL-Wert.
SQL_CB_NON_NULL = Ergebnis ist die Verkettung von Spalten mit einem Wert von nicht NULL.

Ein SQL-92-Treiber, der der Einstiegsebene entspricht, gibt immer SQL_CB_NULL zurück.
SQL_CONVERT_BIGINT
SQL_CONVERT_BINARY
SQL_CONVERT_BIT
SQL_CONVERT_CHAR
SQL_CONVERT_GUID
SQL_CONVERT_DATE
SQL_CONVERT_DECIMAL
SQL_CONVERT_DOUBLE
SQL_CONVERT_FLOAT
SQL_CONVERT_INTEGER
SQL_CONVERT_INTERVAL_YEAR_MONTH
SQL_CONVERT_INTERVAL_DAY_TIME
SQL_CONVERT_LONGVARBINARY
SQL_CONVERT_LONGVARCHAR
SQL_CONVERT_NUMERIC
SQL_CONVERT_REAL
SQL_CONVERT_SMALLINT
SQL_CONVERT_TIME
SQL_CONVERT_TIMESTAMP
SQL_CONVERT_TINYINT
SQL_CONVERT_VARBINARY
SQL_CONVERT_VARCHAR
1.0 Eine SQLUINTEGER-Bitmaske. Die Bitmaske gibt die Konvertierungen an, die von der Datenquelle mit der skalaren CONVERT-Funktion für Daten des Typs im InfoType-Typ unterstützt werden. Wenn die Bitmaske gleich 0 ist, unterstützt die Datenquelle keine Konvertierungen aus Daten des benannten Typs, einschließlich der Konvertierung in denselben Datentyp.

Um beispielsweise festzustellen, ob eine Datenquelle die Konvertierung von SQL_INTEGER Daten in den SQL_BIGINT-Datentyp unterstützt, ruft eine Anwendung SQLGetInfo mit dem InfoType von SQL_CONVERT_INTEGER auf. Die Anwendung führt einen AND-Vorgang mit der zurückgegebenen Bitmaske und SQL_CVT_BIGINT aus. Wenn der resultierende Wert nichtzero ist, wird die Konvertierung unterstützt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Konvertierungen unterstützt werden:
SQL_CVT_BIGINT (ODBC 1.0)
SQL_CVT_BINARY (ODBC 1.0)
SQL_CVT_BIT (ODBC 1.0)
SQL_CVT_GUID (ODBC 3.5)
SQL_CVT_CHAR (ODBC 1.0)
SQL_CVT_DATE (ODBC 1.0)
SQL_CVT_DECIMAL (ODBC 1.0)
SQL_CVT_DOUBLE (ODBC 1.0)
SQL_CVT_FLOAT (ODBC 1.0)
SQL_CVT_INTEGER (ODBC 1.0)
SQL_CVT_INTERVAL_YEAR_MONTH (ODBC 3.0)
SQL_CVT_INTERVAL_DAY_TIME (ODBC 3.0)
SQL_CVT_LONGVARBINARY (ODBC 1.0)
SQL_CVT_LONGVARCHAR (ODBC 1.0)
SQL_CVT_NUMERIC (ODBC 1.0)
SQL_CVT_REAL (ODBC 1.0)
SQL_CVT_SMALLINT (ODBC 1.0)
SQL_CVT_TIME (ODBC 1.0)
SQL_CVT_TIMESTAMP (ODBC 1.0)
SQL_CVT_TINYINT (ODBC 1.0)
SQL_CVT_VARBINARY (ODBC 1.0)
SQL_CVT_VARCHAR (ODBC 1.0)
SQL_CONVERT_FUNCTIONS 1.0 Eine SQLUINTEGER-Bitmaske, die die skalaren Konvertierungsfunktionen aufzählt, die vom Treiber und der zugehörigen Datenquelle unterstützt werden.

Die folgende Bitmaske wird verwendet, um zu bestimmen, welche Konvertierungsfunktionen unterstützt werden:
SQL_FN_CVT_CASTSQL_FN_CVT_CONVERT
SQL_CORRELATION_NAME 1.0 Ein SQLUSMALLINT-Wert, der angibt, ob Tabellenkorrelationsnamen unterstützt werden:
SQL_CN_NONE = Korrelationsnamen werden nicht unterstützt.
SQL_CN_DIFFERENT = Korrelationsnamen werden unterstützt, müssen sich jedoch von den Namen der tabellen unterscheiden, die sie darstellen.
SQL_CN_ANY = Korrelationsnamen werden unterstützt und können ein beliebiger gültiger benutzerdefinierter Name sein.

Ein SQL-92-Treiber, der der Einstiegsebene entspricht, gibt immer SQL_CN_ANY zurück.
SQL_CREATE_ASSERTION 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der CREATE ASSERTION-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_CA_CREATE_ASSERTION

Die folgenden Bits geben das unterstützte Einschränkungsattribut an, wenn die Möglichkeit zum expliziten Angeben von Einschränkungsattributen unterstützt wird (siehe SQL_ALTER_TABLE und SQL_CREATE_TABLE Informationstypen):
SQL_CA_CONSTRAINT_INITIALLY_DEFERRED
SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE
SQL_CA_CONSTRAINT_DEFERRABLE
SQL_CA_CONSTRAINT_NON_DEFERRABLE

Ein SQL-92 Full Level-konformer Treiber gibt immer alle diese Optionen wie unterstützt zurück. Ein Rückgabewert von "0" bedeutet, dass die CREATE ASSERTION-Anweisung nicht unterstützt wird.
SQL_CREATE_CHARACTER_SET 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der CREATE CHARACTER SET-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_CCS_CREATE_CHARACTER_SET
SQL_CCS_COLLATE_CLAUSE
SQL_CCS_LIMITED_COLLATION

Ein SQL-92 Full Level-konformer Treiber gibt immer alle diese Optionen wie unterstützt zurück. Ein Rückgabewert von "0" bedeutet, dass die CREATE CHARACTER SET-Anweisung nicht unterstützt wird.
SQL_CREATE_COLLATION 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der CREATE COLLATION-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgende Bitmaske wird verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_CCOL_CREATE_COLLATION

Ein SQL-92 Full Level-konformer Treiber gibt diese Option immer als unterstützt zurück. Ein Rückgabewert von "0" bedeutet, dass die CREATE COLLATION-Anweisung nicht unterstützt wird.
SQL_CREATE_DOMAIN 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der CREATE DOMAIN-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_CDO_CREATE_DOMAIN = Die CREATE DOMAIN-Anweisung wird unterstützt (Mittlere Ebene).
SQL_CDO_CONSTRAINT_NAME_DEFINITION = <Einschränkungsnamensdefinition> wird für die Benennung von Domäneneinschränkungen (Mittlere Ebene) unterstützt.

Die folgenden Bits geben die Möglichkeit an, Spalteneinschränkungen zu erstellen:
SQL_CDO_DEFAULT = Die Angabe von Domäneneinschränkungen wird unterstützt (Mittlere Ebene)
SQL_CDO_CONSTRAINT = Das Angeben von Domänenstandardeinstellungen wird unterstützt (Mittlere Ebene)
SQL_CDO_COLLATION = Die Angabe der Domänensortierung wird unterstützt (Vollständige Ebene)

Die folgenden Bits geben die unterstützten Einschränkungsattribute an, wenn die Angabe von Domäneneinschränkungen unterstützt wird (SQL_CDO_DEFAULT festgelegt ist):
SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED (Vollständige Ebene)
SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE (Vollständige Ebene)
SQL_CDO_CONSTRAINT_DEFERRABLE (Vollständige Ebene)
SQL_CDO_CONSTRAINT_NON_DEFERRABLE (Vollständige Ebene)

Der Rückgabewert "0" bedeutet, dass die CREATE DOMAIN-Anweisung nicht unterstützt wird.
SQL_CREATE_SCHEMA 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der CREATE SCHEMA-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_CS_CREATE_SCHEMA
SQL_CS_AUTHORIZATION
SQL_CS_DEFAULT_CHARACTER_SET

Ein SQL-92-konformer Treiber für mittlere Ebenen gibt immer die SQL_CS_CREATE_SCHEMA- und SQL_CS_AUTHORIZATION-Optionen zurück, wie unterstützt. Diese müssen auch auf der SQL-92-Einstiegsebene unterstützt werden, aber nicht unbedingt als SQL-Anweisungen. Ein SQL-92 Full Level-konformer Treiber gibt immer alle diese Optionen wie unterstützt zurück.
SQL_CREATE_TABLE 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der CREATE TABLE-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die SQL-92- oder FIPS-Konformitätsebene, auf der dieses Feature unterstützt werden muss, wird in Klammern neben jeder Bitmaske angezeigt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_CT_CREATE_TABLE = Die CREATE TABLE-Anweisung wird unterstützt. (Einstiegsebene)
SQL_CT_TABLE_CONSTRAINT = Angeben von Tabelleneinschränkungen wird unterstützt (FIPS-Übergangsebene)
SQL_CT_CONSTRAINT_NAME_DEFINITION = Die Einschränkungsnamendefinitionsklausel <> wird für die Benennung von Spalten- und Tabelleneinschränkungen (Mittlere Ebene) unterstützt.

Die folgenden Bits geben die Möglichkeit an, temporäre Tabellen zu erstellen:
SQL_CT_COMMIT_PRESERVE = Gelöschte Zeilen werden beim Commit beibehalten. (Vollständige Ebene)
SQL_CT_COMMIT_DELETE = Gelöschte Zeilen werden beim Commit gelöscht. (Vollständige Ebene)
SQL_CT_GLOBAL_TEMPORARY = Globale temporäre Tabellen können erstellt werden. (Vollständige Ebene)
SQL_CT_LOCAL_TEMPORARY = Lokale temporäre Tabellen können erstellt werden. (Vollständige Ebene)

Die folgenden Bits geben die Möglichkeit an, Spalteneinschränkungen zu erstellen:
SQL_CT_COLUMN_CONSTRAINT = Angeben von Spalteneinschränkungen wird unterstützt (FIPS-Übergangsebene)
SQL_CT_COLUMN_DEFAULT = Angeben der Spaltenstandardeinstellungen wird unterstützt (FIPS-Übergangsebene)
SQL_CT_COLUMN_COLLATION = Angeben der Spaltensortierung wird unterstützt (Vollständige Ebene)

Die folgenden Bits geben die unterstützten Einschränkungsattribute an, wenn die Angabe von Spalten- oder Tabelleneinschränkungen unterstützt wird:
SQL_CT_CONSTRAINT_INITIALLY_DEFERRED (Vollständige Ebene)
SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE (Vollständige Ebene)
SQL_CT_CONSTRAINT_DEFERRABLE (Vollständige Ebene)
SQL_CT_CONSTRAINT_NON_DEFERRABLE (Vollständige Ebene)
SQL_CREATE_TRANSLATION 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der CREATE TRANSLATION-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgende Bitmaske wird verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_CTR_CREATE_TRANSLATION

Ein SQL-92 Full Level-konformer Treiber gibt diese Optionen immer als unterstützt zurück. Ein Rückgabewert von "0" bedeutet, dass die CREATE TRANSLATION-Anweisung nicht unterstützt wird.
SQL_CREATE_VIEW 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der CREATE VIEW-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_CV_CREATE_VIEW
SQL_CV_CHECK_OPTION
SQL_CV_CASCADED
SQL_CV_LOCAL

Ein Rückgabewert von "0" bedeutet, dass die CREATE VIEW-Anweisung nicht unterstützt wird.

Ein SQL-92-Treiber, der der Einstiegsebene entspricht, gibt immer die SQL_CV_CREATE_VIEW- und SQL_CV_CHECK_OPTION Optionen zurück, wie unterstützt.

Ein SQL-92 Full Level-konformer Treiber gibt immer alle diese Optionen wie unterstützt zurück.
SQL_CURSOR_COMMIT_BEHAVIOR 1.0 Ein SQLUSMALLINT-Wert, der angibt, wie sich ein COMMIT-Vorgang auf Cursor und vorbereitete Anweisungen in der Datenquelle auswirkt (das Verhalten der Datenquelle beim Commit einer Transaktion).

Der Wert dieses Attributs spiegelt den aktuellen Zustand der nächsten Einstellung wider: SQL_COPT_SS_PRESERVE_CURSORS.
SQL_CB_DELETE = Cursor schließen und vorbereitete Anweisungen löschen. Um den Cursor erneut zu verwenden, muss die Anwendung die Anweisung wiederholen und erneut ausführen.
SQL_CB_CLOSE = Cursor schließen. Bei vorbereiteten Anweisungen kann die Anwendung SQLExecute für die Anweisung aufrufen, ohne SQLPrepare erneut aufzurufen. Der Standard für den SQL ODBC-Treiber ist SQL_CB_CLOSE. Dies bedeutet, dass der SQL ODBC-Treiber Ihre Cursor schließt, wenn Sie eine Transaktion committen.
SQL_CB_PRESERVE = Cursor an derselben Position wie vor dem COMMIT-Vorgang beibehalten. Die Anwendung kann weiterhin Daten abrufen oder den Cursor schließen und die Anweisung erneut ausführen, ohne sie neu zu erstellen.
SQL_CURSOR_ROLLBACK_BEHAVIOR 1.0 Ein SQLUSMALLINT-Wert, der angibt, wie sich ein ROLLBACK-Vorgang auf Cursor und vorbereitete Anweisungen in der Datenquelle auswirkt:
SQL_CB_DELETE = Cursor schließen und vorbereitete Anweisungen löschen. Um den Cursor erneut zu verwenden, muss die Anwendung die Anweisung wiederholen und erneut ausführen.
SQL_CB_CLOSE = Cursor schließen. Bei vorbereiteten Anweisungen kann die Anwendung SQLExecute für die Anweisung aufrufen, ohne SQLPrepare erneut aufzurufen.
SQL_CB_PRESERVE = Cursor an derselben Position wie vor dem ROLLBACK-Vorgang beibehalten. Die Anwendung kann weiterhin Daten abrufen oder den Cursor schließen und die Anweisung erneut ausführen, ohne sie neu zu erstellen.
SQL_CURSOR_SENSITIVITY 3.0 Ein SQLUINTEGER-Wert, der die Unterstützung der Cursorempfindlichkeit angibt:
SQL_INSENSITIVE = Alle Cursor im Anweisungshandle zeigen das Resultset an, ohne änderungen widerzuspiegeln, die von einem anderen Cursor innerhalb derselben Transaktion vorgenommen wurden.
SQL_UNSPECIFIED = Es ist nicht angegeben, ob Cursor auf dem Anweisungshandle die Änderungen sichtbar machen, die von einem anderen Cursor innerhalb derselben Transaktion an einem Resultset vorgenommen wurden. Cursor auf dem Anweisungshandle können keine, einige oder alle änderungen sichtbar machen.
SQL_SENSITIVE = Cursor sind empfindlich gegenüber Änderungen, die von anderen Cursorn innerhalb derselben Transaktion vorgenommen wurden.

Ein SQL-92-treiber, der der Einstiegsebene entspricht, gibt immer die option SQL_UNSPECIFIED zurück, wie unterstützt.

Ein SQL-92 Full Level-konformer Treiber gibt immer die option SQL_INSENSITIVE zurück, wie unterstützt.
SQL_DATA_SOURCE_NAME 1.0 Eine Zeichenfolge mit dem Datenquellennamen, der während der Verbindung verwendet wurde. Wenn die Anwendung SQLConnect genannt hat, ist dies der Wert des szDSN-Arguments . Wenn die Anwendung SQLDriverConnect oder SQLBrowseConnect heißt, ist dies der Wert des Schlüsselworts DSN in der Verbindungszeichenfolge, die an den Treiber übergeben wird. Wenn die Verbindungszeichenfolge das DSN-Schlüsselwort nicht enthält (z. B. wenn sie das Schlüsselwort DRIVER enthält), ist dies eine leere Zeichenfolge.
SQL_DATA_SOURCE_READ_ONLY 1.0 Eine Zeichenfolge. "Y", wenn die Datenquelle auf den SCHREIBGESCHÜTZTEn Modus festgelegt ist, "N", wenn es anders ist.

Dieses Merkmal bezieht sich nur auf die Datenquelle selbst. es ist keine Eigenschaft des Treibers, die den Zugriff auf die Datenquelle ermöglicht. Ein Treiber mit Lese-/Schreibzugriff kann mit einer schreibgeschützten Datenquelle verwendet werden. Wenn ein Treiber schreibgeschützt ist, müssen alle Datenquellen schreibgeschützt sein und SQL_DATA_SOURCE_READ_ONLY zurückgeben.
SQL_DATABASE_NAME 1.0 Eine Zeichenfolge mit dem Namen der aktuell verwendeten Datenbank, wenn die Datenquelle ein benanntes Objekt namens "database" definiert.

In ODBC 3.x kann der für diesen InfoType zurückgegebene Wert auch zurückgegeben werden, indem SQLGetConnectAttr mit dem Attributargument SQL_ATTR_CURRENT_CATALOG aufgerufen wird.
SQL_DATETIME_LITERALS 3.0 Eine SQLUINTEGER-Bitmaske, die die von der Datenquelle unterstützten DATETIME-Literale von SQL-92 aufzählt. Beachten Sie, dass dies die datetime-Literale sind, die in der SQL-92-Spezifikation aufgeführt sind und von den durch ODBC definierten datetime-Literal-Escapeklauseln getrennt sind. Weitere Informationen zu den DATETIME-Literal-Escapeklauseln von ODBC finden Sie unter Datums-, Uhrzeit- und Zeitstempelliterale.

Ein FIPS-Level-konformer Treiber gibt immer den Wert "1" in der Bitmaske für die Bits in der folgenden Liste zurück. Der Wert "0" bedeutet, dass sql-92 datetime-Literale nicht unterstützt werden.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Literale unterstützt werden:
SQL_DL_SQL92_DATE
SQL_DL_SQL92_TIME
SQL_DL_SQL92_TIMESTAMP
SQL_DL_SQL92_INTERVAL_YEAR
SQL_DL_SQL92_INTERVAL_MONTH
SQL_DL_SQL92_INTERVAL_DAY
SQL_DL_SQL92_INTERVAL_HOUR
SQL_DL_SQL92_INTERVAL_MINUTE
SQL_DL_SQL92_INTERVAL_SECOND
SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH
SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR
SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE
SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND
SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE
SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND
SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND
SQL_DBMS_NAME 1.0 Eine Zeichenfolge mit dem Namen des DBMS-Produkts, auf das vom Treiber zugegriffen wird.
SQL_DBMS_VER 1.0 Eine Zeichenfolge, die die Version des DBMS-Produkts angibt, auf das der Treiber zugreifen kann. Die Version hat das Format ##.#.#.##. Dabei sind die ersten beiden Ziffern die Hauptversion, die nächsten beiden Ziffern die Nebenversion und die letzten vier Ziffern die Releaseversion. Der Treiber muss die DBMS-Produktversion in dieser Form rendern, kann aber auch die produktspezifische DBMS-Version anfügen. Beispiel: "04.01.0000 Rdb 4.1".
SQL_DDL_INDEX 3.0 Ein SQLUINTEGER-Wert, der die Unterstützung für das Erstellen und Löschen von Indizes angibt:
SQL_DI_CREATE_INDEX
SQL_DI_DROP_INDEX
SQL_DEFAULT_TXN_ISOLATION 1.0 Ein SQLUINTEGER-Wert, der die standardmäßige Transaktionsisolationsstufe angibt, die vom Treiber oder der Datenquelle unterstützt wird, oder null, wenn die Datenquelle keine Transaktionen unterstützt. Die folgenden Begriffe werden verwendet, um Transaktionsisolationsstufen zu definieren:
Dirty Read Transaktion 1 ändert eine Zeile. Transaktion 2 liest die geänderte Zeile, bevor Transaktion 1 die Änderung committet. Wenn Transaktion 1 ein Rollback für die Änderung ausführt, hat Transaktion 2 eine Zeile gelesen, die als nie vorhanden gilt.
Nicht wiederholbarer Lesevorgang Transaktion 1 liest eine Zeile. Transaktion 2 aktualisiert oder löscht diese Zeile und committet diese Änderung. Wenn Transaktion 1 versucht, die Zeile erneut zu lesen, erhält sie unterschiedliche Zeilenwerte oder ermittelt, dass die Zeile gelöscht wurde.
Phantom Transaktion 1 liest eine Reihe von Zeilen, die einige Suchkriterien erfüllen. Transaktion 2 generiert eine oder mehrere Zeilen (entweder über Einfügungen oder Aktualisierungen), die den Suchkriterien entsprechen. Wenn Transaktion 1 die Anweisung, die die Zeilen liest, erneut ausführt, empfängt sie einen anderen Satz von Zeilen.

Wenn die Datenquelle Transaktionen unterstützt, gibt der Treiber eine der folgenden Bitmasken zurück:
SQL_TXN_READ_UNCOMMITTED = Dirty Reads, nicht wiederholbare Lesevorgänge und Phantome sind möglich.
SQL_TXN_READ_COMMITTED = Dirty Reads sind nicht möglich. Nicht wiederholbare Lesevorgänge und Phantome sind möglich.
SQL_TXN_REPEATABLE_READ = Dirty Reads und nicht wiederholbare Lesevorgänge sind nicht möglich. Phantome sind möglich.
SQL_TXN_SERIALIZABLE = Transaktionen sind serialisierbar. Serialisierbare Transaktionen lassen keine schmutzigen Lesevorgänge, nicht wiederholbaren Lesevorgänge oder Phantome zu.
SQL_DESCRIBE_PARAMETER 3.0 Eine Zeichenfolge: "Y", wenn Parameter beschrieben werden können; "N", wenn nicht.

Ein SQL-92 Full level-konformer Treiber gibt in der Regel "Y" zurück, da er die DESCRIBE INPUT-Anweisung unterstützt. Da dies jedoch nicht direkt die zugrunde liegende SQL-Unterstützung angibt, werden beschreibende Parameter möglicherweise nicht unterstützt, auch nicht in einem SQL-92-Treiber mit vollständiger Ebene.
SQL_DM_VER 3.0 Eine Zeichenfolge mit der Version des Treiber-Managers. Die Version hat das Format ##.#.#.##.#, wobei Folgendes gilt:
Der erste Satz von zwei Ziffern ist die ODBC-Hauptversion, wie durch die Konstante SQL_SPEC_MAJOR angegeben.
Der zweite Satz von zwei Ziffern ist die ODBC-Nebenversion, wie durch die Konstante SQL_SPEC_MINOR angegeben.
Die dritte Gruppe von vier Ziffern ist die Hauptbuildnummer des Treiber-Managers.
Der letzte Satz von vier Ziffern ist die Nebenbuildnummer des Treiber-Managers.
Die Windows 7-Treiber-Manager-Version ist 03.80. Die Windows 8-Treiber-Manager-Version ist 03.81.
SQL_DRIVER_AWARE_POOLING_SUPPORTED 3.8 Ein SQLUINTEGER-Wert, der angibt, ob der Treiber treiberfähiges Pooling unterstützt. (Weitere Informationen finden Sie unter Treiberfähiges Verbindungspooling.

SQL_DRIVER_AWARE_POOLING_CAPABLE gibt an, dass der Treiber den treiberfähigen Poolingmechanismus unterstützen kann.
SQL_DRIVER_AWARE_POOLING_NOT_CAPABLE gibt an, dass der Treiber den treiberfähigen Poolingmechanismus nicht unterstützen kann.

Ein Treiber muss keine SQL_DRIVER_AWARE_POOLING_SUPPORTED implementieren, und der Treiber-Manager berücksichtigt nicht den Rückgabewert des Treibers.
SQL_DRIVER_HDBCSQL_DRIVER_HENV 1.0 Ein SQLULEN-Wert, das Umgebungshandle oder das Verbindungshandle des Treibers, bestimmt durch das Argument InfoType.

Diese Informationstypen werden allein vom Treiber-Manager implementiert.
SQL_DRIVER_HDESC 3.0 Ein SQLULEN-Wert, das deskriptor-Handle des Treibers, das vom Deskriptorhandle des Treiber-Managers bestimmt wird, das bei eingaben in *InfoValuePtr von der Anwendung übergeben werden muss. In diesem Fall ist InfoValuePtr sowohl ein Eingabe- als auch ein Ausgabeargument. Das in *InfoValuePtr übergebene Eingabedeskriptorhandle muss explizit oder implizit in ConnectionHandle zugeordnet worden sein.

Die Anwendung sollte eine Kopie des Deskriptorhandles des Treiber-Managers erstellen, bevor SQLGetInfo mit diesem Informationstyp aufgerufen wird, um sicherzustellen, dass das Handle bei der Ausgabe nicht überschrieben wird.

Dieser Informationstyp wird allein vom Treiber-Manager implementiert.
SQL_DRIVER_HLIB 2.0 Ein SQLULEN-Wert, der Hinweis aus der Ladebibliothek, der an den Treiber-Manager zurückgegeben wurde, wenn die Treiber-DLL auf ein Microsoft Windows-Betriebssystem geladen wurde, oder seine Entsprechung auf einem anderen Betriebssystem. Das Handle ist nur für das Im Aufruf von SQLGetInfo angegebene Verbindungshandle gültig.

Dieser Informationstyp wird allein vom Treiber-Manager implementiert.
SQL_DRIVER_HSTMT 1.0 Ein SQLULEN-Wert, das vom Driver Manager-Anweisungshandle festgelegte Anweisungshandle des Treibers, das bei eingaben in *InfoValuePtr von der Anwendung übergeben werden muss. In diesem Fall ist InfoValuePtr sowohl ein Eingabe- als auch ein Ausgabeargument. Das in *InfoValuePtr übergebene Eingabeanweisungenhandle muss für das Argument ConnectionHandle zugeordnet worden sein.

Die Anwendung sollte eine Kopie des Anweisungshandles des Treiber-Managers erstellen, bevor SQLGetInfo mit diesem Informationstyp aufgerufen wird, um sicherzustellen, dass das Handle bei der Ausgabe nicht überschrieben wird.

Dieser Informationstyp wird allein vom Treiber-Manager implementiert.
SQL_DRIVER_NAME 1.0 Eine Zeichenfolge mit dem Dateinamen des Treibers, der für den Zugriff auf die Datenquelle verwendet wird.
SQL_DRIVER_ODBC_VER 2.0 Eine Zeichenfolge mit der version von ODBC, die vom Treiber unterstützt wird. Die Version weist das Format ##.## auf, wobei die ersten beiden Ziffern die Hauptversion und die nächsten beiden Ziffern die Nebenversion sind. SQL_SPEC_MAJOR und SQL_SPEC_MINOR die Haupt- und Nebenversionsnummern definieren. Für die in diesem Handbuch beschriebene ODBC-Version sind dies 3 und 0, und der Treiber sollte "03.00" zurückgeben.

Der ODBC-Treiber-Manager ändert den Rückgabewert von SQLGetInfo(SQL_DRIVER_ODBC_VER) nicht, um die Abwärtskompatibilität für vorhandene Anwendungen aufrechtzuerhalten. Der Treiber gibt an, welcher Wert zurückgegeben wird. Ein Treiber, der die Erweiterbarkeit des C-Datentyps unterstützt, muss jedoch 3.8 (oder höher) zurückgeben, wenn eine Anwendung SQLSetEnvAttr aufruft, um SQL_ATTR_ODBC_VERSION auf 3.8 festzulegen. Weitere Informationen finden Sie unter C-Datentypen in ODBC.
SQL_DRIVER_VER 1.0 Eine Zeichenfolge mit der Version des Treibers und optional einer Beschreibung des Treibers. Die Version hat mindestens die Form ##.##.#. Dabei sind die ersten beiden Ziffern die Hauptversion, die nächsten beiden Ziffern die Nebenversion und die letzten vier Ziffern die Releaseversion.
SQL_DROP_ASSERTION 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der DROP ASSERTION-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgende Bitmaske wird verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_DA_DROP_ASSERTION

Ein SQL-92 Full level-konformer Treiber gibt diese Option immer als unterstützt zurück.
SQL_DROP_CHARACTER_SET 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der DROP CHARACTER SET-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgende Bitmaske wird verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_DCS_DROP_CHARACTER_SET

Ein SQL-92 Full level-konformer Treiber gibt diese Option immer als unterstützt zurück.
SQL_DROP_COLLATION 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der DROP COLLATION-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgende Bitmaske wird verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_DC_DROP_COLLATION

Ein SQL-92 Full level-konformer Treiber gibt diese Option immer als unterstützt zurück.
SQL_DROP_DOMAIN 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der DROP DOMAIN-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_DD_DROP_DOMAIN
SQL_DD_CASCADE
SQL_DD_RESTRICT

Ein SQL-92 Intermediate Level-konformer Treiber gibt immer alle diese Optionen wie unterstützt zurück.
SQL_DROP_SCHEMA 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der DROP SCHEMA-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_DS_DROP_SCHEMA
SQL_DS_CASCADE
SQL_DS_RESTRICT

Ein SQL-92 Intermediate Level-konformer Treiber gibt immer alle diese Optionen wie unterstützt zurück.
SQL_DROP_TABLE 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der DROP TABLE-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_DT_DROP_TABLE
SQL_DT_CASCADE
SQL_DT_RESTRICT

Ein FIPS-Level-konformer Treiber gibt immer alle diese Optionen wie unterstützt zurück.
SQL_DROP_TRANSLATION 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der DROP TRANSLATION-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgende Bitmaske wird verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_DTR_DROP_TRANSLATION

Ein SQL-92 Full level-konformer Treiber gibt diese Option immer als unterstützt zurück.
SQL_DROP_VIEW 3.0 Eine SQLUINTEGER-Bitmaske, die die Klauseln in der DROP VIEW-Anweisung aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln unterstützt werden:
SQL_DV_DROP_VIEW
SQL_DV_CASCADE
SQL_DV_RESTRICT

Ein FIPS-Level-konformer Treiber gibt immer alle diese Optionen wie unterstützt zurück.
SQL_DYNAMIC_CURSOR_ATTRIBUTES1 3.0 Eine SQLUINTEGER-Bitmaske, die die Attribute eines dynamischen Cursors beschreibt, die vom Treiber unterstützt werden. Diese Bitmaske enthält die erste Teilmenge von Attributen. die zweite Teilmenge finden Sie unter SQL_DYNAMIC_CURSOR_ATTRIBUTES2.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Attribute unterstützt werden:
SQL_CA1_NEXT = Ein FetchOrientation-Argument von SQL_FETCH_NEXT wird in einem Aufruf von SQLFetchScroll unterstützt, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA1_ABSOLUTE = FetchOrientation-Argumente von SQL_FETCH_FIRST, SQL_FETCH_LAST und SQL_FETCH_ABSOLUTE werden in einem Aufruf von SQLFetchScroll unterstützt, wenn der Cursor ein dynamischer Cursor ist. (Das Rowset, das abgerufen wird, ist unabhängig von der aktuellen Cursorposition.)
SQL_CA1_RELATIVE = FetchOrientation-Argumente von SQL_FETCH_PRIOR und SQL_FETCH_RELATIVE werden in einem Aufruf von SQLFetchScroll unterstützt, wenn der Cursor ein dynamischer Cursor ist. (Das Rowset, das abgerufen wird, hängt von der aktuellen Cursorposition ab. Beachten Sie, dass dies von SQL_FETCH_NEXT getrennt ist, da in einem vorwärtsgerichteten Cursor nur SQL_FETCH_NEXT unterstützt wird.)
SQL_CA1_BOOKMARK = Ein FetchOrientation-Argument von SQL_FETCH_BOOKMARK wird in einem Aufruf von SQLFetchScroll unterstützt, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA1_LOCK_EXCLUSIVE = Ein LockType-Argument von SQL_LOCK_EXCLUSIVE wird in einem Aufruf von SQLSetPos unterstützt, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA1_LOCK_NO_CHANGE = Ein LockType-Argument von SQL_LOCK_NO_CHANGE wird in einem Aufruf von SQLSetPos unterstützt, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA1_LOCK_UNLOCK = Ein LockType-Argument von SQL_LOCK_UNLOCK wird in einem Aufruf von SQLSetPos unterstützt, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA1_POS_POSITION = Ein Operation-Argument von SQL_POSITION wird in einem Aufruf von SQLSetPos unterstützt, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA1_POS_UPDATE = Ein Operation-Argument von SQL_UPDATE wird in einem Aufruf von SQLSetPos unterstützt, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA1_POS_DELETE = Ein Operation-Argument von SQL_DELETE wird in einem Aufruf von SQLSetPos unterstützt, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA1_POS_REFRESH = Ein Operation-Argument von SQL_REFRESH wird in einem Aufruf von SQLSetPos unterstützt, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA1_POSITIONED_UPDATE = Eine UPDATE WHERE CURRENT OF SQL-Anweisung wird unterstützt, wenn der Cursor ein dynamischer Cursor ist. (Ein SQL-92-treiber, der der Einstiegsebene entspricht, gibt diese Option immer als unterstützt zurück.)
SQL_CA1_POSITIONED_DELETE = Eine DELETE WHERE CURRENT OF SQL-Anweisung wird unterstützt, wenn der Cursor ein dynamischer Cursor ist. (Ein SQL-92-treiber, der der Einstiegsebene entspricht, gibt diese Option immer als unterstützt zurück.)
SQL_CA1_SELECT_FOR_UPDATE = Eine SELECT FOR UPDATE SQL-Anweisung wird unterstützt, wenn der Cursor ein dynamischer Cursor ist. (Ein SQL-92-treiber, der der Einstiegsebene entspricht, gibt diese Option immer als unterstützt zurück.)
SQL_CA1_BULK_ADD = Ein Operation-Argument von SQL_ADD wird in einem Aufruf von SQLBulkOperations unterstützt, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA1_BULK_UPDATE_BY_BOOKMARK = Ein Operation-Argument von SQL_UPDATE_BY_BOOKMARK wird in einem Aufruf von SQLBulkOperations unterstützt, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA1_BULK_DELETE_BY_BOOKMARK = Ein Operation-Argument von SQL_DELETE_BY_BOOKMARK wird in einem Aufruf von SQLBulkOperations unterstützt, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA1_BULK_FETCH_BY_BOOKMARK = Ein Vorgangsargument von SQL_FETCH_BY_BOOKMARK wird in einem Aufruf von SQLBulkOperations unterstützt, wenn der Cursor ein dynamischer Cursor ist.

Ein SQL-92-konformer Treiber für mittlere Ebenen gibt normalerweise die SQL_CA1_NEXT-, SQL_CA1_ABSOLUTE- und SQL_CA1_RELATIVE-Optionen zurück, da er scrollbare Cursor durch die eingebettete SQL FETCH-Anweisung unterstützt. Da dies die zugrunde liegende SQL-Unterstützung nicht direkt bestimmt, werden scrollbare Cursor möglicherweise nicht unterstützt, auch nicht für einen SQL-92-konformen Treiber mit mittlerer Ebene.
SQL_DYNAMIC_CURSOR_ATTRIBUTES2 3.0 Eine SQLUINTEGER-Bitmaske, die die Attribute eines dynamischen Cursors beschreibt, die vom Treiber unterstützt werden. Diese Bitmaske enthält die zweite Teilmenge von Attributen. die erste Teilmenge finden Sie unter SQL_DYNAMIC_CURSOR_ATTRIBUTES1.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Attribute unterstützt werden:
SQL_CA2_READ_ONLY_CONCURRENCY = Ein schreibgeschützter dynamischer Cursor, in dem keine Updates zulässig sind, wird unterstützt. (Das Attribut SQL_ATTR_CONCURRENCY-Anweisung kann für einen dynamischen Cursor SQL_CONCUR_READ_ONLY werden.)
SQL_CA2_LOCK_CONCURRENCY = Ein dynamischer Cursor, der die niedrigste Sperrebene verwendet, die ausreicht, um sicherzustellen, dass die Zeile aktualisiert werden kann. (Das Attribut SQL_ATTR_CONCURRENCY-Anweisung kann für einen dynamischen Cursor SQL_CONCUR_LOCK werden.) Diese Sperren müssen mit der vom SQL_ATTR_TXN_ISOLATION-Verbindungsattribute festgelegten Transaktionsisolationsstufe konsistent sein.
SQL_CA2_OPT_ROWVER_CONCURRENCY = Ein dynamischer Cursor, der das Optimistische Parallelitätssteuerelement zum Vergleichen von Zeilenversionen verwendet, wird unterstützt. (Das Attribut SQL_ATTR_CONCURRENCY-Anweisung kann für einen dynamischen Cursor SQL_CONCUR_ROWVER werden.)
SQL_CA2_OPT_VALUES_CONCURRENCY = Ein dynamischer Cursor, der das optimistische Parallelitätssteuerelement zum Vergleichen von Werten verwendet, wird unterstützt. (Das Attribut SQL_ATTR_CONCURRENCY-Anweisung kann für einen dynamischen Cursor SQL_CONCUR_VALUES werden.)
SQL_CA2_SENSITIVITY_ADDITIONS = Hinzugefügte Zeilen sind für einen dynamischen Cursor sichtbar; der Cursor kann zu diesen Zeilen scrollen. (Wenn diese Zeilen dem Cursor hinzugefügt werden, ist treiberabhängig.)
SQL_CA2_SENSITIVITY_DELETIONS = Gelöschte Zeilen sind für einen dynamischen Cursor nicht mehr verfügbar und hinterlassen kein "Loch" im Resultset; nachdem der dynamische Cursor aus einer gelöschten Zeile scrollt, kann er nicht zu dieser Zeile zurückkehren.
SQL_CA2_SENSITIVITY_UPDATES = Aktualisierungen für Zeilen sind für einen dynamischen Cursor sichtbar. Wenn der dynamische Cursor von einer aktualisierten Zeile scrollt und zu einer aktualisierten Zeile zurückkehrt, sind die vom Cursor zurückgegebenen Daten die aktualisierten Daten, nicht die ursprünglichen Daten.
SQL_CA2_MAX_ROWS_SELECT = Das Attribut SQL_ATTR_MAX_ROWS-Anweisung wirkt sich auf SELECT-Anweisungen aus, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA2_MAX_ROWS_INSERT = Das Attribut SQL_ATTR_MAX_ROWS-Anweisung wirkt sich auf INSERT-Anweisungen aus, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA2_MAX_ROWS_DELETE = Das Attribut SQL_ATTR_MAX_ROWS-Anweisung wirkt sich auf DELETE-Anweisungen aus, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA2_MAX_ROWS_UPDATE = Das Attribut SQL_ATTR_MAX_ROWS-Anweisung wirkt sich auf UPDATE-Anweisungen aus, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA2_MAX_ROWS_CATALOG = Das Attribut SQL_ATTR_MAX_ROWS-Anweisung wirkt sich auf CATALOG-Resultsets aus, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA2_MAX_ROWS_AFFECTS_ALL = Das Attribut der SQL_ATTR_MAX_ROWS-Anweisung wirkt sich auf SELECT-, INSERT-, DELETE- und UPDATE-Anweisungen und CATALOG-Resultsets aus, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA2_CRC_EXACT = Die genaue Zeilenanzahl ist im SQL_DIAG_CURSOR_ROW_COUNT Diagnosefeld verfügbar, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA2_CRC_APPROXIMATE = Eine ungefähre Zeilenanzahl ist im SQL_DIAG_CURSOR_ROW_COUNT Diagnosefeld verfügbar, wenn der Cursor ein dynamischer Cursor ist.
SQL_CA2_SIMULATE_NON_UNIQUE = Der Treiber garantiert nicht, dass simulierte positionierte Aktualisierungs- oder Löschanweisungen nur eine Zeile betreffen, wenn der Cursor ein dynamischer Cursor ist; es liegt in der Verantwortung der Anwendung, dies zu gewährleisten. (Wenn eine Anweisung mehr als eine Zeile betrifft, gibt SQLExecute oder SQLExecDirect SQLSTATE 01001 [Cursorvorgangskonflikt]) zurück.) Um dieses Verhalten festzulegen, ruft die Anwendung SQLSetStmtAttr auf, wobei das attribut SQL_ATTR_SIMULATE_CURSOR auf SQL_SC_NON_UNIQUE festgelegt ist.
SQL_CA2_SIMULATE_TRY_UNIQUE = Der Treiber versucht sicherzustellen, dass sich simulierte positionierte Update- oder Delete-Anweisungen nur auf eine Zeile auswirken, wenn der Cursor ein dynamischer Cursor ist. Der Treiber führt solche Anweisungen immer aus, auch wenn sie sich möglicherweise auf mehrere Zeilen auswirken, z. B. wenn kein eindeutiger Schlüssel vorhanden ist. (Wenn eine Anweisung mehr als eine Zeile betrifft, gibt SQLExecute oder SQLExecDirect SQLSTATE 01001 [Cursorvorgangskonflikt]) zurück.) Um dieses Verhalten festzulegen, ruft die Anwendung SQLSetStmtAttr auf, wobei das Attribut SQL_ATTR_SIMULATE_CURSOR auf SQL_SC_TRY_UNIQUE festgelegt ist.
SQL_CA2_SIMULATE_UNIQUE = Der Treiber garantiert, dass sich simulierte positionierte Update- oder Delete-Anweisungen nur auf eine Zeile auswirken, wenn der Cursor ein dynamischer Cursor ist. Wenn der Treiber dies für eine bestimmte Anweisung nicht garantieren kann, geben SQLExecDirect oder SQLPrepare SQLSTATE 01001 (Cursorvorgangskonflikt) zurück. Um dieses Verhalten festzulegen, ruft die Anwendung SQLSetStmtAttr auf, wobei das attribut SQL_ATTR_SIMULATE_CURSOR auf SQL_SC_UNIQUE festgelegt ist.
SQL_EXPRESSIONS_IN_ORDERBY 1.0 Eine Zeichenfolge: "Y", wenn die Datenquelle Ausdrücke in der LISTE ORDER BY unterstützt; "N", wenn dies nicht der Fall ist.
SQL_FILE_USAGE 2.0 Ein SQLUSMALLINT-Wert, der angibt, wie ein Einschichttreiber Dateien in einer Datenquelle direkt behandelt:
SQL_FILE_NOT_SUPPORTED = Der Treiber ist kein Einschichttreiber. Ein ORACLE-Treiber ist beispielsweise ein zweistufiger Treiber.
SQL_FILE_TABLE = Ein Einschichttreiber behandelt Dateien in einer Datenquelle als Tabellen. Beispielsweise behandelt ein Xbase-Treiber jede Xbase-Datei als Tabelle.
SQL_FILE_CATALOG = Ein Einschichttreiber behandelt Dateien in einer Datenquelle als Katalog. Beispielsweise behandelt ein Microsoft Access-Treiber jede Microsoft Access-Datei als vollständige Datenbank.

Eine Anwendung kann dies verwenden, um zu bestimmen, wie Benutzer Daten auswählen. Beispielsweise denken Xbase-Benutzer häufig an Daten, die in Dateien gespeichert sind, während ORACLE- und Microsoft Access-Benutzer daten im Allgemeinen als in Tabellen gespeichert betrachten.

Wenn ein Benutzer eine Xbase-Datenquelle auswählt, kann die Anwendung das Dialogfeld Windows-Datei allgemein öffnen anzeigen. wenn der Benutzer eine Microsoft Access- oder ORACLE-Datenquelle auswählt, kann die Anwendung ein benutzerdefiniertes Dialogfeld Tabelle auswählen anzeigen.
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 3.0 Eine SQLUINTEGER-Bitmaske, die die Attribute eines vorwärtsgerichteten Cursors beschreibt, die vom Treiber unterstützt werden. Diese Bitmaske enthält die erste Teilmenge von Attributen. die zweite Teilmenge finden Sie unter SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Attribute unterstützt werden:
SQL_CA1_NEXT
SQL_CA1_LOCK_EXCLUSIVE
SQL_CA1_LOCK_NO_CHANGE
SQL_CA1_LOCK_UNLOCK
SQL_CA1_POS_POSITION
SQL_CA1_POS_UPDATE
SQL_CA1_POS_DELETE
SQL_CA1_POS_REFRESH
SQL_CA1_POSITIONED_UPDATE
SQL_CA1_POSITIONED_DELETE
SQL_CA1_SELECT_FOR_UPDATE
SQL_CA1_BULK_ADD
SQL_CA1_BULK_UPDATE_BY_BOOKMARK
SQL_CA1_BULK_DELETE_BY_BOOKMARK
SQL_CA1_BULK_FETCH_BY_BOOKMARK

Beschreibungen dieser Bitmasken finden Sie unter SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (und ersetzen Sie "Vorwärtscursor" durch "dynamischen Cursor" in den Beschreibungen).
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 3.0 Eine SQLUINTEGER-Bitmaske, die die Attribute eines vorwärtsgerichteten Cursors beschreibt, die vom Treiber unterstützt werden. Diese Bitmaske enthält die zweite Teilmenge von Attributen. die erste Teilmenge finden Sie unter SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Attribute unterstützt werden:
SQL_CA2_READ_ONLY_CONCURRENCY
SQL_CA2_LOCK_CONCURRENCY
SQL_CA2_OPT_ROWVER_CONCURRENCY
SQL_CA2_OPT_VALUES_CONCURRENCY
SQL_CA2_SENSITIVITY_ADDITIONS
SQL_CA2_SENSITIVITY_DELETIONS
SQL_CA2_SENSITIVITY_UPDATES
SQL_CA2_MAX_ROWS_SELECT
SQL_CA2_MAX_ROWS_INSERT
SQL_CA2_MAX_ROWS_DELETE
SQL_CA2_MAX_ROWS_UPDATE
SQL_CA2_MAX_ROWS_CATALOG
SQL_CA2_MAX_ROWS_AFFECTS_ALL
SQL_CA2_CRC_EXACT
SQL_CA2_CRC_APPROXIMATE
SQL_CA2_SIMULATE_NON_UNIQUE
SQL_CA2_SIMULATE_TRY_UNIQUE
SQL_CA2_SIMULATE_UNIQUE

Beschreibungen dieser Bitmasken finden Sie unter SQL_DYNAMIC_CURSOR_ATTRIBUTES2 (und ersetzen Sie "Vorwärtscursor" durch "dynamischen Cursor" in den Beschreibungen).
SQL_GETDATA_EXTENSIONS 2.0 Eine SQLUINTEGER-Bitmaske, die Erweiterungen zu SQLGetData aufzählt.

Die folgenden Bitmasken werden zusammen mit dem Flag verwendet, um zu bestimmen, welche allgemeinen Erweiterungen der Treiber für SQLGetData unterstützt:
SQL_GD_ANY_COLUMN = SQLGetData kann für jede ungebundene Spalte aufgerufen werden, einschließlich der Spalten vor der letzten gebundenen Spalte. Beachten Sie, dass die Spalten in der Reihenfolge der aufsteigenden Spaltennummer aufgerufen werden müssen, es sei denn, SQL_GD_ANY_ORDER wird ebenfalls zurückgegeben.
SQL_GD_ANY_ORDER = SQLGetData kann für ungebundene Spalten in beliebiger Reihenfolge aufgerufen werden. Beachten Sie, dass SQLGetData nur für Spalten nach der letzten gebundenen Spalte aufgerufen werden kann, es sei denn, SQL_GD_ANY_COLUMN wird ebenfalls zurückgegeben.
SQL_GD_BLOCK = SQLGetData kann für eine ungebundene Spalte in einer beliebigen Zeile in einem Block (wobei die Rowsetgröße größer als 1 ist) von Daten aufgerufen werden, nachdem sie mit SQLSetPos in dieser Zeile positioniert wurde.
SQL_GD_BOUND = SQLGetData kann für gebundene Spalten zusätzlich zu ungebundenen Spalten aufgerufen werden. Ein Treiber kann diesen Wert nur zurückgeben, wenn er auch SQL_GD_ANY_COLUMN zurückgibt.
SQL_GD_OUTPUT_PARAMS = SQLGetData kann aufgerufen werden, um Ausgabeparameterwerte zurückzugeben. Weitere Informationen finden Sie unter Abrufen von Ausgabeparametern mithilfe von SQLGetData.

SQLGetData ist erforderlich, um Daten nur von ungebundenen Spalten zurückzugeben, die nach der letzten gebundenen Spalte auftreten, in der Reihenfolge der steigenden Spaltenanzahl aufgerufen werden und sich nicht in einer Zeile in einem Zeilenblock befinden.

Wenn ein Treiber Lesezeichen (entweder feste Länge oder variable Länge) unterstützt, muss er das Aufrufen von SQLGetData für Spalte 0 unterstützen. Diese Unterstützung ist unabhängig davon erforderlich, was der Treiber für einen Aufruf von SQLGetInfo mit dem SQL_GETDATA_EXTENSIONS InfoType zurückgibt.
SQL_GROUP_BY 2.0 Ein SQLUSMALLINT-Wert, der die Beziehung zwischen den Spalten in der GROUP BY-Klausel und den nicht aggregierten Spalten in der Auswahlliste angibt:
SQL_GB_COLLATE = Eine COLLATE-Klausel kann am Ende jeder Gruppierungsspalte angegeben werden. (ODBC 3.0)
SQL_GB_NOT_SUPPORTED = GROUP BY-Klauseln werden nicht unterstützt. (ODBC 2.0)
SQL_GB_GROUP_BY_EQUALS_SELECT = Die GROUP BY-Klausel muss alle nicht aggregierten Spalten in der Auswahlliste enthalten. Es darf keine anderen Spalten enthalten. Beispiel: SELECT DEPT, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT. (ODBC 2.0)
SQL_GB_GROUP_BY_CONTAINS_SELECT = Die GROUP BY-Klausel muss alle nicht aggregierten Spalten in der Auswahlliste enthalten. Sie kann Spalten enthalten, die nicht in der Auswahlliste enthalten sind. Beispiel : SELECT DEPT, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT, AGE. (ODBC 2.0)
SQL_GB_NO_RELATION = Die Spalten in der GROUP BY-Klausel und der Auswahlliste sind nicht miteinander verknüpft. Die Bedeutung nicht gruppierter, nicht aggregierter Spalten in der Auswahlliste ist datenquellenabhängig. Beispielsweise WÄHLEN SIE DEPT, GEHALT AUS MITARBEITERGRUPPE NACH ABTEILUNG, ALTER AUS. (ODBC 2.0)

Ein SQL-92-konformer Treiber für die Einstiegsebene gibt immer die option SQL_GB_GROUP_BY_EQUALS_SELECT zurück, wie unterstützt. Ein SQL-92 Full Level-konformer Treiber gibt immer die option SQL_GB_COLLATE zurück, wie unterstützt. Wenn keine der Optionen unterstützt wird, wird die GROUP BY-Klausel von der Datenquelle nicht unterstützt.
SQL_IDENTIFIER_CASE 1.0 Ein SQLUSMALLINT-Wert wie folgt:
SQL_IC_UPPER = Bezeichner in SQL beachten die Groß-/Kleinschreibung nicht und werden im Systemkatalog in Großbuchstaben gespeichert.
SQL_IC_LOWER = Bezeichner in SQL beachten die Groß-/Kleinschreibung nicht und werden im Systemkatalog in Kleinbuchstaben gespeichert.
SQL_IC_SENSITIVE = Bezeichner in SQL beachten die Groß-/Kleinschreibung und werden in gemischter Groß- und Kleinschreibung im Systemkatalog gespeichert.
SQL_IC_MIXED = Bezeichner in SQL beachten die Groß-/Kleinschreibung nicht und werden im Systemkatalog in gemischter Groß-/Kleinschreibung gespeichert.

Da bei Bezeichnern in SQL-92 nie die Groß-/Kleinschreibung beachtet wird, gibt ein Treiber, der streng sql-92 (beliebige Ebene) entspricht, nie die option SQL_IC_SENSITIVE zurück, die unterstützt wird.
SQL_IDENTIFIER_QUOTE_CHAR 1.0 Die Zeichenfolge, die als Start- und Endtrennzeichen eines Bezeichners mit Anführungszeichen (durch Trennzeichen) in SQL-Anweisungen verwendet wird. (Bezeichner, die als Argumente an ODBC-Funktionen übergeben werden, müssen nicht in Anführungszeichen angegeben werden.) Wenn die Datenquelle keine Anführungszeichen unterstützt, wird ein Leerzeichen zurückgegeben.

Diese Zeichenfolge kann auch zum Zitieren von Katalogfunktionsargumenten verwendet werden, wenn das Verbindungsattribute SQL_ATTR_METADATA_ID auf SQL_TRUE festgelegt ist.

Da das Bezeichner-Anführungszeichen in SQL-92 das doppelte Anführungszeichen (") ist, gibt ein Treiber, der streng mit SQL-92 übereinstimmt, immer das doppelte Anführungszeichen zurück.
SQL_INDEX_KEYWORDS 3.0 Eine SQLUINTEGER-Bitmaske, die Schlüsselwörter in der CREATE INDEX-Anweisung aufzählt, die vom Treiber unterstützt werden:
SQL_IK_NONE = Keines der Schlüsselwörter wird unterstützt.
SQL_IK_ASC = ASC-Schlüsselwort wird unterstützt.
SQL_IK_DESC = DESC-Schlüsselwort wird unterstützt.
SQL_IK_ALL = Alle Schlüsselwörter werden unterstützt.

Um festzustellen, ob die CREATE INDEX-Anweisung unterstützt wird, ruft eine Anwendung SQLGetInfo mit dem SQL_DLL_INDEX Informationstyp auf.
SQL_INFO_SCHEMA_VIEWS 3.0 Eine SQLUINTEGER-Bitmaske, die die Ansichten im INFORMATION_SCHEMA aufzählt, die vom Treiber unterstützt werden. Die Ansichten in und der Inhalt von INFORMATION_SCHEMA sind wie in SQL-92 definiert.

Die SQL-92- oder FIPS-Konformitätsebene, auf der dieses Feature unterstützt werden muss, wird in Klammern neben jeder Bitmaske angezeigt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Ansichten unterstützt werden:
SQL_ISV_ASSERTIONS = Identifiziert die Assertionen des Katalogs, die einem bestimmten Benutzer gehören. (Vollständige Ebene)
SQL_ISV_CHARACTER_SETS = Gibt die Zeichensätze des Katalogs an, auf die ein bestimmter Benutzer zugreifen kann. (Mittlere Ebene)
SQL_ISV_CHECK_CONSTRAINTS = Gibt die CHECK-Einschränkungen an, die einem bestimmten Benutzer gehören. (Mittlere Ebene)
SQL_ISV_COLLATIONS = Gibt die Zeichensortierungen für den Katalog an, auf die ein bestimmter Benutzer zugreifen kann. (Vollständige Ebene)
SQL_ISV_COLUMN_DOMAIN_USAGE = Gibt Spalten für den Katalog an, die von im Katalog definierten Domänen abhängen und im Besitz eines bestimmten Benutzers sind. (Mittlere Ebene)
SQL_ISV_COLUMN_PRIVILEGES = Identifiziert die Berechtigungen für Spalten persistenter Tabellen, die einem bestimmten Benutzer zur Verfügung stehen oder von diesem gewährt werden. (FIPS-Übergangsebene)
SQL_ISV_COLUMNS = Gibt die Spalten persistenter Tabellen an, auf die ein bestimmter Benutzer zugreifen kann. (FIPS-Übergangsebene)
SQL_ISV_CONSTRAINT_COLUMN_USAGE = Ähnlich wie CONSTRAINT_TABLE_USAGE Ansicht werden Spalten für die verschiedenen Einschränkungen identifiziert, die einem bestimmten Benutzer gehören. (Mittlere Ebene)
SQL_ISV_CONSTRAINT_TABLE_USAGE = Gibt die Tabellen an, die von Einschränkungen (referenzielle, eindeutige und Assertionen) verwendet werden und im Besitz eines bestimmten Benutzers sind. (Mittlere Ebene)
SQL_ISV_DOMAIN_CONSTRAINTS = Gibt die Domäneneinschränkungen (der Domänen im Katalog) an, auf die ein bestimmter Benutzer zugreifen kann. (Mittlere Ebene)
SQL_ISV_DOMAINS = Identifiziert die in einem Katalog definierten Domänen, auf die der Benutzer zugreifen kann. (Mittlere Ebene)
SQL_ISV_KEY_COLUMN_USAGE = Identifiziert im Katalog definierte Spalten, die von einem bestimmten Benutzer als Schlüssel eingeschränkt werden. (Mittlere Ebene)
SQL_ISV_REFERENTIAL_CONSTRAINTS = Identifiziert die referenziellen Einschränkungen, die einem bestimmten Benutzer gehören. (Mittlere Ebene)
SQL_ISV_SCHEMATA = Gibt die Schemas an, die einem bestimmten Benutzer gehören. (Mittlere Ebene)
SQL_ISV_SQL_LANGUAGES = Gibt die von der SQL-Implementierung unterstützten SQL-Konformitätsstufen, -Optionen und -Dialekte an. (Mittlere Ebene)
SQL_ISV_TABLE_CONSTRAINTS = Gibt die Tabelleneinschränkungen an, die einem bestimmten Benutzer gehören. (Mittlere Ebene)
SQL_ISV_TABLE_PRIVILEGES = Gibt die Berechtigungen für persistente Tabellen an, die einem bestimmten Benutzer zur Verfügung stehen oder von diesem gewährt werden. (FIPS-Übergangsebene)
SQL_ISV_TABLES = Identifiziert die in einem Katalog definierten persistenten Tabellen, auf die ein bestimmter Benutzer zugreifen kann. (FIPS-Übergangsebene)
SQL_ISV_TRANSLATIONS = Gibt Zeichenübersetzungen für den Katalog an, auf die ein bestimmter Benutzer zugreifen kann. (Vollständige Ebene)
SQL_ISV_USAGE_PRIVILEGES = Identifiziert die USAGE-Berechtigungen für Katalogobjekte, die für einen bestimmten Benutzer verfügbar sind oder sich im Besitz eines bestimmten Benutzers befinden. (FIPS-Übergangsebene)
SQL_ISV_VIEW_COLUMN_USAGE = Gibt die Spalten an, von denen die Ansichten des Katalogs abhängig sind, die einem bestimmten Benutzer gehören. (Mittlere Ebene)
SQL_ISV_VIEW_TABLE_USAGE = Gibt die Tabellen an, von denen die Sichten des Katalogs abhängig sind, die einem bestimmten Benutzer gehören. (Mittlere Ebene)
SQL_ISV_VIEWS = Identifiziert die in diesem Katalog definierten angezeigten Tabellen, auf die ein bestimmter Benutzer zugreifen kann. (FIPS-Übergangsebene)
SQL_INSERT_STATEMENT 3.0 Eine SQLUINTEGER-Bitmaske, die die Unterstützung für INSERT-Anweisungen angibt:
SQL_IS_INSERT_LITERALS
SQL_IS_INSERT_SEARCHED
SQL_IS_SELECT_INTO

Ein SQL-92-Treiber, der der Einstiegsebene entspricht, gibt immer alle diese Optionen wie unterstützt zurück.
SQL_INTEGRITY 1.0 Eine Zeichenfolge: "Y", wenn die Datenquelle die Integritätserweiterungsfunktion unterstützt; "N", wenn dies nicht der Fall ist.

Dieser InfoType wurde für ODBC 3.0 vom ODBC 2.0 InfoType-SQL_ODBC_SQL_OPT_IEF umbenannt.
SQL_KEYSET_CURSOR_ATTRIBUTES1 3.0 Eine SQLUINTEGER-Bitmaske, die die Attribute eines Keysetcursors beschreibt, die vom Treiber unterstützt werden. Diese Bitmaske enthält die erste Teilmenge von Attributen. die zweite Teilmenge finden Sie unter SQL_KEYSET_CURSOR_ATTRIBUTES2.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Attribute unterstützt werden:
SQL_CA1_NEXT
SQL_CA1_ABSOLUTE
SQL_CA1_RELATIVE
SQL_CA1_BOOKMARK
SQL_CA1_LOCK_EXCLUSIVE
SQL_CA1_LOCK_NO_CHANGE
SQL_CA1_LOCK_UNLOCK
SQL_CA1_POS_POSITION
SQL_CA1_POS_UPDATE
SQL_CA1_POS_DELETE
SQL_CA1_POS_REFRESH
SQL_CA1_POSITIONED_UPDATE
SQL_CA1_POSITIONED_DELETE
SQL_CA1_SELECT_FOR_UPDATE
SQL_CA1_BULK_ADD
SQL_CA1_BULK_UPDATE_BY_BOOKMARK
SQL_CA1_BULK_DELETE_BY_BOOKMARK
SQL_CA1_BULK_FETCH_BY_BOOKMARK

Beschreibungen dieser Bitmasken finden Sie unter SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (und ersetzen Sie in den Beschreibungen "keysetgesteuerter Cursor" durch "dynamischer Cursor").

Ein SQL-92 Intermediate Level-konformer Treiber gibt normalerweise die optionen SQL_CA1_NEXT, SQL_CA1_ABSOLUTE und SQL_CA1_RELATIVE zurück, da der Treiber scrollbare Cursor durch die eingebettete SQL FETCH-Anweisung unterstützt. Da dies nicht direkt die zugrunde liegende SQL-Unterstützung bestimmt, werden scrollbare Cursor möglicherweise nicht unterstützt, auch nicht für einen SQL-92 Intermediate Level-konformen Treiber.
SQL_KEYSET_CURSOR_ATTRIBUTES2 3.0 Eine SQLUINTEGER-Bitmaske, die die Attribute eines Keysetcursors beschreibt, die vom Treiber unterstützt werden. Diese Bitmaske enthält die zweite Teilmenge von Attributen; die erste Teilmenge finden Sie unter SQL_KEYSET_CURSOR_ATTRIBUTES1.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Attribute unterstützt werden:
SQL_CA2_READ_ONLY_CONCURRENCY
SQL_CA2_LOCK_CONCURRENCY
SQL_CA2_OPT_ROWVER_CONCURRENCY
SQL_CA2_OPT_VALUES_CONCURRENCY
SQL_CA2_SENSITIVITY_ADDITIONS
SQL_CA2_SENSITIVITY_DELETIONS
SQL_CA2_SENSITIVITY_UPDATES
SQL_CA2_MAX_ROWS_SELECT
SQL_CA2_MAX_ROWS_INSERT
SQL_CA2_MAX_ROWS_DELETE
SQL_CA2_MAX_ROWS_UPDATE
SQL_CA2_MAX_ROWS_CATALOG
SQL_CA2_MAX_ROWS_AFFECTS_ALL
SQL_CA2_CRC_EXACT
SQL_CA2_CRC_APPROXIMATE
SQL_CA2_SIMULATE_NON_UNIQUE
SQL_CA2_SIMULATE_TRY_UNIQUE
SQL_CA2_SIMULATE_UNIQUE

Beschreibungen dieser Bitmasken finden Sie unter SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (und ersetzen Sie in den Beschreibungen "keysetgesteuerter Cursor" durch "dynamischer Cursor").
SQL_KEYWORDS 2.0 Eine Zeichenfolge, die eine durch Trennzeichen getrennte Liste aller datenquellenspezifischen Schlüsselwörter enthält. Diese Liste enthält keine ODBC-spezifischen Schlüsselwörter oder Schlüsselwörter, die sowohl von der Datenquelle als auch von ODBC verwendet werden. Diese Liste stellt alle reservierten Schlüsselwörter dar. Interoperable Anwendungen sollten diese Wörter nicht in Objektnamen verwenden.

Eine Liste der ODBC-Schlüsselwörter finden Sie unter Reservierte Schlüsselwörter in Anhang C: SQL-Grammatik. Der #define Wert SQL_ODBC_KEYWORDS enthält eine durch Trennzeichen getrennte Liste von ODBC-Schlüsselwörtern.
SQL_LIKE_ESCAPE_CLAUSE 2.0 Eine Zeichenfolge: "Y", wenn die Datenquelle ein Escapezeichen für das Prozentzeichen (%) und unterstrichene Zeichen (_) in einem LIKE-Prädikat unterstützt und der Treiber die ODBC-Syntax zum Definieren eines LIKE-Prädikat-Escapezeichens unterstützt; Andernfalls "N".
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS 3.0 Ein SQLUINTEGER-Wert, der die maximale Anzahl aktiver gleichzeitiger Anweisungen im asynchronen Modus angibt, die der Treiber für eine bestimmte Verbindung unterstützen kann. Wenn kein bestimmtes Limit vorhanden ist oder der Grenzwert unbekannt ist, ist dieser Wert null.
SQL_MAX_BINARY_LITERAL_LEN 2.0 Ein SQLUINTEGER-Wert, der die maximale Länge (Anzahl von Hexadezimalzeichen, mit Ausnahme des von SQLGetTypeInfo zurückgegebenen Literalpräfixes und Suffixs) eines binären Literals in einer SQL-Anweisung angibt. Beispielsweise hat das binäre Literal 0xFFAA eine Länge von 4. Wenn keine maximale Länge vorhanden ist oder die Länge unbekannt ist, wird dieser Wert auf 0 (null) festgelegt.
SQL_MAX_CATALOG_NAME_LEN 1.0 Ein SQLUSMALLINT-Wert, der die maximale Länge eines Katalognamens in der Datenquelle angibt. Wenn keine maximale Länge vorhanden ist oder die Länge unbekannt ist, wird dieser Wert auf 0 (null) festgelegt.

Ein FIPS Full Level-konformer Treiber gibt mindestens 128 zurück.

Dieser InfoType wurde für ODBC 3.0 aus dem ODBC 2.0 InfoType-SQL_MAX_QUALIFIER_NAME_LEN umbenannt.
SQL_MAX_CHAR_LITERAL_LEN 2.0 Ein SQLUINTEGER-Wert, der die maximale Länge (Anzahl der Zeichen, mit Ausnahme des von SQLGetTypeInfo zurückgegebenen Literalpräfixes und Suffixs) eines Zeichenliterals in einer SQL-Anweisung angibt. Wenn keine maximale Länge vorhanden ist oder die Länge unbekannt ist, wird dieser Wert auf 0 (null) festgelegt.
SQL_MAX_COLUMN_NAME_LEN 1.0 Ein SQLUSMALLINT-Wert, der die maximale Länge eines Spaltennamens in der Datenquelle angibt. Wenn keine maximale Länge vorhanden ist oder die Länge unbekannt ist, wird dieser Wert auf 0 festgelegt.

Ein FIPS-einstiegskonformer Treiber gibt mindestens 18 zurück. Ein FIPS Intermediate Level-konformer Treiber gibt mindestens 128 zurück.
SQL_MAX_COLUMNS_IN_GROUP_BY 2.0 Ein SQLUSMALLINT-Wert, der die maximale Anzahl von Spalten angibt, die in einer GROUP BY-Klausel zulässig sind. Wenn es kein angegebenes Limit gibt oder das Limit unbekannt ist, wird dieser Wert auf 0 festgelegt.

Ein FIPS-einstiegskonformer Treiber gibt mindestens 6 zurück. Ein FIPS Intermediate Level-konformer Treiber gibt mindestens 15 zurück.
SQL_MAX_COLUMNS_IN_INDEX 2.0 Ein SQLUSMALLINT-Wert, der die maximale Anzahl von Spalten angibt, die in einem Index zulässig sind. Wenn es kein angegebenes Limit gibt oder das Limit unbekannt ist, wird dieser Wert auf 0 festgelegt.
SQL_MAX_COLUMNS_IN_ORDER_BY 2.0 Ein SQLUSMALLINT-Wert, der die maximale Anzahl von Spalten angibt, die in einer ORDER BY-Klausel zulässig sind. Wenn es kein angegebenes Limit gibt oder das Limit unbekannt ist, wird dieser Wert auf 0 festgelegt.

Ein FIPS-einstiegskonformer Treiber gibt mindestens 6 zurück. Ein FIPS Intermediate Level-konformer Treiber gibt mindestens 15 zurück.
SQL_MAX_COLUMNS_IN_SELECT 2.0 Ein SQLUSMALLINT-Wert, der die maximale Anzahl von Spalten angibt, die in einer Auswahlliste zulässig sind. Wenn es kein angegebenes Limit gibt oder das Limit unbekannt ist, wird dieser Wert auf 0 festgelegt.

Ein FIPS-einstiegskonformer Treiber gibt mindestens 100 zurück. Ein FIPS Intermediate Level-konformer Treiber gibt mindestens 250 zurück.
SQL_MAX_COLUMNS_IN_TABLE 2.0 Ein SQLUSMALLINT-Wert, der die maximale Anzahl von Spalten angibt, die in einer Tabelle zulässig sind. Wenn es kein angegebenes Limit gibt oder das Limit unbekannt ist, wird dieser Wert auf 0 festgelegt.

Ein FIPS-einstiegskonformer Treiber gibt mindestens 100 zurück. Ein FIPS Intermediate Level-konformer Treiber gibt mindestens 250 zurück.
SQL_MAX_CONCURRENT_ACTIVITIES 1.0 Ein SQLUSMALLINT-Wert, der die maximale Anzahl aktiver Anweisungen angibt, die der Treiber für eine Verbindung unterstützen kann. Eine Anweisung ist als aktiv definiert, wenn sie über ausstehende Ergebnisse verfügt, wobei der Begriff "Results" Zeilen aus einem SELECT-Vorgang oder Zeilen bedeutet, die von einem INSERT-, UPDATE- oder DELETE-Vorgang betroffen sind (z. B. eine Zeilenanzahl), oder wenn sie sich in einem NEED_DATA Zustand befindet. Dieser Wert kann eine Einschränkung widerspiegeln, die entweder vom Treiber oder von der Datenquelle auferlegt wird. Wenn es kein angegebenes Limit gibt oder das Limit unbekannt ist, wird dieser Wert auf 0 festgelegt.

Dieser InfoType wurde für ODBC 3.0 von ODBC 2.0 InfoType SQL_ACTIVE_STATEMENTS umbenannt.
SQL_MAX_CURSOR_NAME_LEN 1.0 Ein SQLUSMALLINT-Wert, der die maximale Länge eines Cursornamens in der Datenquelle angibt. Wenn keine maximale Länge vorhanden ist oder die Länge unbekannt ist, wird dieser Wert auf 0 festgelegt.

Ein FIPS-einstiegskonformer Treiber gibt mindestens 18 zurück. Ein FIPS Intermediate Level-konformer Treiber gibt mindestens 128 zurück.
SQL_MAX_DRIVER_CONNECTIONS 1.0 Ein SQLUSMALLINT-Wert, der die maximale Anzahl aktiver Verbindungen angibt, die der Treiber für eine Umgebung unterstützen kann. Dieser Wert kann eine Einschränkung widerspiegeln, die entweder vom Treiber oder von der Datenquelle auferlegt wird. Wenn es kein angegebenes Limit gibt oder das Limit unbekannt ist, wird dieser Wert auf 0 festgelegt.

Dieser InfoType wurde für ODBC 3.0 von ODBC 2.0 InfoType SQL_ACTIVE_CONNECTIONS umbenannt.
SQL_MAX_IDENTIFIER_LEN 3.0 Ein SQLUSMALLINT, der die maximale Größe in Zeichen angibt, die die Datenquelle für benutzerdefinierte Namen unterstützt.

Ein FIPS-einstiegskonformer Treiber gibt mindestens 18 zurück. Ein FIPS Intermediate Level-konformer Treiber gibt mindestens 128 zurück.
SQL_MAX_INDEX_SIZE 2.0 Ein SQLUINTEGER-Wert, der die maximale Anzahl von Bytes angibt, die in den kombinierten Feldern eines Indexes zulässig sind. Wenn es kein angegebenes Limit gibt oder das Limit unbekannt ist, wird dieser Wert auf 0 festgelegt.
SQL_MAX_PROCEDURE_NAME_LEN 1.0 Ein SQLUSMALLINT-Wert, der die maximale Länge eines Prozedurnamens in der Datenquelle angibt. Wenn keine maximale Länge vorhanden ist oder die Länge unbekannt ist, wird dieser Wert auf 0 festgelegt.
SQL_MAX_ROW_SIZE 2.0 Ein SQLUINTEGER-Wert, der die maximale Länge einer einzelnen Zeile in einer Tabelle angibt. Wenn es kein angegebenes Limit gibt oder das Limit unbekannt ist, wird dieser Wert auf 0 festgelegt.

Ein FIPS-einstiegskonformer Treiber gibt mindestens 2.000 zurück. Ein FIPS Intermediate Level-konformer Treiber gibt mindestens 8.000 zurück.
SQL_MAX_ROW_SIZE_INCLUDES_LONG 3.0 Eine Zeichenfolge: "Y", wenn die maximale Zeilengröße, die für den SQL_MAX_ROW_SIZE Informationstyp zurückgegeben wird, die Länge aller SQL_LONGVARCHAR und SQL_LONGVARBINARY Spalten in der Zeile enthält; Andernfalls "N".
SQL_MAX_SCHEMA_NAME_LEN 1.0 Ein SQLUSMALLINT-Wert, der die maximale Länge eines Schemanamens in der Datenquelle angibt. Wenn keine maximale Länge vorhanden ist oder die Länge unbekannt ist, wird dieser Wert auf 0 festgelegt.

Ein FIPS-einstiegskonformer Treiber gibt mindestens 18 zurück. Ein FIPS Intermediate Level-konformer Treiber gibt mindestens 128 zurück.

Dieser InfoType wurde für ODBC 3.0 von ODBC 2.0 InfoType SQL_MAX_OWNER_NAME_LEN umbenannt.
SQL_MAX_STATEMENT_LEN 2.0 Ein SQLUINTEGER-Wert, der die maximale Länge (Anzahl von Zeichen, einschließlich Leerzeichen) einer SQL-Anweisung angibt. Wenn keine maximale Länge vorhanden ist oder die Länge unbekannt ist, wird dieser Wert auf 0 festgelegt.
SQL_MAX_TABLE_NAME_LEN 1.0 Ein SQLUSMALLINT-Wert, der die maximale Länge eines Tabellennamens in der Datenquelle angibt. Wenn keine maximale Länge vorhanden ist oder die Länge unbekannt ist, wird dieser Wert auf 0 festgelegt.

Ein FIPS-einstiegskonformer Treiber gibt mindestens 18 zurück. Ein FIPS Intermediate Level-konformer Treiber gibt mindestens 128 zurück.
SQL_MAX_TABLES_IN_SELECT 2.0 Ein SQLUSMALLINT-Wert, der die maximale Anzahl von Tabellen angibt, die in der FROM-Klausel einer SELECT-Anweisung zulässig sind . Wenn es kein angegebenes Limit gibt oder das Limit unbekannt ist, wird dieser Wert auf 0 festgelegt.

Ein FIPS-einstiegskonformer Treiber gibt mindestens 15 zurück. Ein FIPS Intermediate Level-konformer Treiber gibt mindestens 50 zurück.
SQL_MAX_USER_NAME_LEN 2.0 Ein SQLUSMALLINT-Wert, der die maximale Länge eines Benutzernamens in der Datenquelle angibt. Wenn keine maximale Länge vorhanden ist oder die Länge unbekannt ist, wird dieser Wert auf 0 festgelegt.
SQL_MULT_RESULT_SETS 1.0 Eine Zeichenfolge: "Y", wenn die Datenquelle mehrere Resultsets unterstützt, "N", wenn dies nicht der Fall ist.

Weitere Informationen zu mehreren Resultsets finden Sie unter Mehrere Ergebnisse.
SQL_MULTIPLE_ACTIVE_TXN 1.0 Eine Zeichenfolge: "Y", wenn der Treiber mehrere aktive Transaktionen gleichzeitig unterstützt, "N", wenn immer nur eine Transaktion aktiv sein kann.

Die für diesen Informationstyp zurückgegebenen Informationen gelten bei verteilten Transaktionen nicht.
SQL_NEED_LONG_DATA_LEN 2.0 Eine Zeichenfolge: "Y", wenn die Datenquelle die Länge eines langen Datenwerts benötigt (der Datentyp ist SQL_LONGVARCHAR, SQL_LONGVARBINARY oder ein langer datenquellenspezifischer Datentyp), bevor dieser Wert an die Datenquelle gesendet wird, "N", wenn dies nicht der Fall ist. Weitere Informationen finden Sie unter SQLBindParameter-Funktion und SQLSetPos-Funktion.
SQL_NON_NULLABLE_COLUMNS 1.0 Ein SQLUSMALLINT-Wert, der angibt, ob die Datenquelle NOT NULL in Spalten unterstützt:
SQL_NNC_NULL = Alle Spalten müssen NULL-Werte zulassen.
SQL_NNC_NON_NULL = Spalten können keine NULL-Werte zulassen. (Die Datenquelle unterstützt die NOT NULL-Spalteneinschränkung in CREATE TABLE-Anweisungen .)

Ein SQL-92-Treiber, der der Einstiegsebene entspricht, gibt SQL_NNC_NON_NULL zurück.
SQL_NULL_COLLATION 2.0 Ein SQLUSMALLINT-Wert, der angibt, wo NULLs in einem Resultset sortiert werden:
SQL_NC_END = NULLs werden am Ende des Resultsets sortiert, unabhängig von den Schlüsselwörtern ASC oder DESC.
SQL_NC_HIGH = NULLs werden je nach ASC- oder DESC-Schlüsselwörtern am hohen Ende des Resultsets sortiert.
SQL_NC_LOW = NULLs werden je nach ASC- oder DESC-Schlüsselwörtern am unteren Ende des Resultsets sortiert.
SQL_NC_START = NULLs werden am Anfang des Resultsets sortiert, unabhängig von den Schlüsselwörtern ASC oder DESC.
SQL_NUMERIC_FUNCTIONS 1.0 Hinweis: Der Informationstyp wurde in ODBC 1.0 eingeführt. Jede Bitmaske wird mit der Version beschriftet, in der sie eingeführt wurde.

Eine SQLUINTEGER-Bitmaske, die die vom Treiber und der zugeordneten Datenquelle unterstützten skalaren numerischen Funktionen aufzählt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche numerischen Funktionen unterstützt werden:
SQL_FN_NUM_ABS (ODBC 1.0)
SQL_FN_NUM_ACOS (ODBC 1.0)
SQL_FN_NUM_ASIN (ODBC 1.0)
SQL_FN_NUM_ATAN (ODBC 1.0)
SQL_FN_NUM_ATAN2 (ODBC 1.0)
SQL_FN_NUM_CEILING (ODBC 1.0)
SQL_FN_NUM_COS (ODBC 1.0)
SQL_FN_NUM_COT (ODBC 1.0)
SQL_FN_NUM_DEGREES (ODBC 2.0)
SQL_FN_NUM_EXP (ODBC 1.0)
SQL_FN_NUM_FLOOR (ODBC 1.0)
SQL_FN_NUM_LOG (ODBC 1.0)
SQL_FN_NUM_LOG10 (ODBC 2.0)
SQL_FN_NUM_MOD (ODBC 1.0)
SQL_FN_NUM_PI (ODBC 1.0)
SQL_FN_NUM_POWER (ODBC 2.0)
SQL_FN_NUM_RADIANS (ODBC 2.0)
SQL_FN_NUM_RAND (ODBC 1.0)
SQL_FN_NUM_ROUND (ODBC 2.0)
SQL_FN_NUM_SIGN (ODBC 1.0)
SQL_FN_NUM_SIN (ODBC 1.0)
SQL_FN_NUM_SQRT (ODBC 1.0)
SQL_FN_NUM_TAN (ODBC 1.0)
SQL_FN_NUM_TRUNCATE (ODBC 2.0)
SQL_ODBC_INTERFACE_CONFORMANCE 3.0 Ein SQLUINTEGER-Wert, der die Ebene der ODBC 3*.x*-Schnittstelle angibt, die der Treiber erfüllt.

SQL_OIC_CORE: Die Mindeststufe, die von allen ODBC-Treibern erwartet wird. Diese Ebene umfasst grundlegende Schnittstellenelemente wie Verbindungsfunktionen, Funktionen zum Vorbereiten und Ausführen einer SQL-Anweisung, grundlegende Resultsetmetadatenfunktionen, grundlegende Katalogfunktionen usw.
SQL_OIC_LEVEL1: Eine Ebene, die die Funktionalität der Standardkonformitätsebene sowie scrollbare Cursor, Lesezeichen, positionierte Updates und Löschungen usw. umfasst.
SQL_OIC_LEVEL2: Eine Ebene, die die Konformitätsebenenfunktionalität der Ebene 1 sowie erweiterte Features wie sensible Cursor umfasst. Aktualisieren, Löschen und Aktualisieren durch Lesezeichen; Unterstützung gespeicherter Prozeduren; Katalogfunktionen für Primär- und Fremdschlüssel; Unterstützung für mehrere Kataloge; Und so weiter.

Weitere Informationen finden Sie unter Schnittstellenkonformitätsstufen.
SQL_ODBC_VER 1.0 Eine Zeichenfolge mit der ODBC-Version, der der Treiber-Manager entspricht. Die Version hat das Format ##.#.0000, wobei die ersten beiden Ziffern die Hauptversion und die nächsten beiden Ziffern die Nebenversion sind. Dies wird nur im Treiber-Manager implementiert.
SQL_OJ_CAPABILITIES 2,01 Eine SQLUINTEGER-Bitmaske, die die Typen von äußeren Joins aufzählt, die vom Treiber und der Datenquelle unterstützt werden. Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Typen unterstützt werden:
SQL_OJ_LEFT = Linke äußere Verknüpfungen werden unterstützt.
SQL_OJ_RIGHT = Rechte äußere Verknüpfungen werden unterstützt.
SQL_OJ_FULL = Vollständige äußere Verknüpfungen werden unterstützt.
SQL_OJ_NESTED = Geschachtelte äußere Joins werden unterstützt.
SQL_OJ_NOT_ORDERED = Die Spaltennamen in der ON-Klausel des äußeren Joins müssen nicht in derselben Reihenfolge wie die jeweiligen Tabellennamen in der OUTER JOIN-Klausel vorliegen.
SQL_OJ_INNER = Die innere Tabelle (die rechte Tabelle in einem linken äußeren Join oder die linke Tabelle in einem rechten äußeren Join) kann auch in einem inneren Join verwendet werden. Dies gilt nicht für vollständige äußere Joins, die keine innere Tabelle haben.
SQL_OJ_ALL_COMPARISON_OPS = Der Vergleichsoperator in der ON-Klausel kann jeder der ODBC-Vergleichsoperatoren sein. Wenn dieses Bit nicht festgelegt ist, kann nur der Gleichheitsvergleichsoperator (=) in äußeren Joins verwendet werden.

Wenn keine dieser Optionen als unterstützt zurückgegeben wird, wird keine äußere Joinklausel unterstützt.

Informationen zur Unterstützung relationaler Joinoperatoren in einer SELECT-Anweisung, wie von SQL-92 definiert, finden Sie unter SQL_SQL92_RELATIONAL_JOIN_OPERATORS.
SQL_ORDER_BY_COLUMNS_IN_SELECT 2.0 Eine Zeichenfolge: "Y", wenn die Spalten in der ORDER BY-Klausel in der Auswahlliste enthalten sein müssen; andernfalls "N".
SQL_PARAM_ARRAY_ROW_COUNTS 3.0 Eine SQLUINTEGER,die die Eigenschaften des Treibers in Bezug auf die Verfügbarkeit von Zeilenzählungen in einer parametrisierten Ausführung aufzählt. Verfügt über die folgenden Werte:
SQL_PARC_BATCH = Für jeden Parametersatz sind einzelne Zeilenanzahlen verfügbar. Dies entspricht vom Konzept her dem Treiber, der einen Batch von SQL-Anweisungen generiert, eine für jeden Parametersatz im Array. Erweiterte Fehlerinformationen können mithilfe des SQL_PARAM_STATUS_PTR-Deskriptorfelds abgerufen werden.
SQL_PARC_NO_BATCH = Es ist nur eine Zeilenanzahl verfügbar, d. h. die kumulative Zeilenanzahl, die sich aus der Ausführung der Anweisung für das gesamte Array von Parametern ergibt. Dies entspricht konzeptionell der Behandlung der Anweisung zusammen mit dem vollständigen Parameterarray als eine atomare Einheit. Fehler werden genauso behandelt, als ob eine Anweisung ausgeführt würde.
SQL_PARAM_ARRAY_SELECTS 3.0 Eine SQLUINTEGER,die die Eigenschaften des Treibers in Bezug auf die Verfügbarkeit von Resultsets in einer parametrisierten Ausführung aufzählt. Verfügt über die folgenden Werte:
SQL_PAS_BATCH = Pro Parametersatz steht ein Resultset zur Verfügung. Dies entspricht konzeptionell dem Treiber, der einen Batch von SQL-Anweisungen generiert, eine für jeden Parametersatz im Array.
SQL_PAS_NO_BATCH = Es ist nur ein Resultset verfügbar, das das kumulative Resultset darstellt, das sich aus der Ausführung der Anweisung für das vollständige Array von Parametern ergibt. Dies entspricht konzeptionell der Behandlung der -Anweisung zusammen mit dem vollständigen Parameterarray als eine atomare Einheit.
SQL_PAS_NO_SELECT = Ein Treiber lässt nicht zu, dass eine resultsetgenerierende Anweisung mit einem Array von Parametern ausgeführt wird.
SQL_POS_OPERATIONS 2.0 Eine SQLINTEGER-Bitmaske, die die Supportvorgänge in SQLSetPos aufzählt.

Die folgenden Bitmasken werden zusammen mit dem Flag verwendet, um zu bestimmen, welche Optionen unterstützt werden.
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_PROCEDURE_TERM 1.0 Eine Zeichenfolge mit dem Namen des Datenquellenanbieters für eine Prozedur; beispielsweise "Datenbankprozedur", "gespeicherte Prozedur", "Prozedur", "Paket" oder "gespeicherte Abfrage".
SQL_PROCEDURES 1.0 Eine Zeichenfolge: "Y", wenn die Datenquelle Prozeduren unterstützt und der Treiber die ODBC-Prozeduraufrufsyntax unterstützt; Andernfalls "N".
SQL_QUOTED_IDENTIFIER_CASE 2.0 Ein SQLUSMALLINT-Wert wie folgt:
SQL_IC_UPPER = Anführungszeichen in SQL beachten die Groß-/Kleinschreibung nicht und werden im Systemkatalog in Großbuchstaben gespeichert.
SQL_IC_LOWER = Anführungszeichen in SQL unterscheiden die Groß-/Kleinschreibung und werden im Systemkatalog in Kleinbuchstaben gespeichert.
SQL_IC_SENSITIVE = Anführungszeichen in SQL beachten die Groß-/Kleinschreibung und werden in gemischter Groß- und Kleinschreibung im Systemkatalog gespeichert. (In einer SQL-92-kompatiblen Datenbank wird bei Anführungszeichen immer die Groß-/Kleinschreibung beachtet.)
SQL_IC_MIXED = Anführungszeichen in SQL beachten die Groß-/Kleinschreibung nicht und werden im Systemkatalog in gemischter Groß-/Kleinschreibung gespeichert.

Ein SQL-92-Treiber, der der Einstiegsebene entspricht, gibt immer SQL_IC_SENSITIVE zurück.
SQL_ROW_UPDATES 1.0 Eine Zeichenfolge: "Y", wenn ein keysetgesteuerter oder gemischter Cursor Zeilenversionen oder Werte für alle abgerufenen Zeilen beibehält und daher alle Aktualisierungen erkennen kann, die von einem Beliebigen Benutzer seit dem letzten Abruf der Zeile vorgenommen wurden. (Dies gilt nur für Updates, nicht für Löschungen oder Einfügungen.) Der Treiber kann das SQL_ROW_UPDATED-Flag an das Zeilenstatusarray zurückgeben, wenn SQLFetchScroll aufgerufen wird. Andernfalls "N".
SQL_SCHEMA_TERM 1.0 Eine Zeichenfolge mit dem Namen des Datenquellenanbieters für ein Schema; z. B. "Besitzer", "Autorisierungs-ID" oder "Schema".

Die Zeichenfolge kann in Groß-, Klein- oder Kleinschreibung zurückgegeben werden.

Ein SQL-92-treiber, der der Einstiegsebene entspricht, gibt immer "schema" zurück.

Dieser InfoType wurde für ODBC 3.0 von ODBC 2.0 InfoType SQL_OWNER_TERM umbenannt.
SQL_SCHEMA_USAGE 2.0 Eine SQLUINTEGER-Bitmaske, die die Anweisungen aufzählt, in denen Schemas verwendet werden können:
SQL_SU_DML_STATEMENTS = Schemas werden in allen Anweisungen der Datenbearbeitungssprache unterstützt: SELECT, INSERT, UPDATE, DELETE und, falls unterstützt, SELECT FOR UPDATE und positioned update and delete-Anweisungen.
SQL_SU_PROCEDURE_INVOCATION = Schemas werden in der ODBC-Prozeduraufruf-Anweisung unterstützt.
SQL_SU_TABLE_DEFINITION = Schemas werden in allen Tabellendefinitionsanweisungen unterstützt: CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE und DROP VIEW.
SQL_SU_INDEX_DEFINITION = Schemas werden in allen Indexdefinitionsanweisungen unterstützt: CREATE INDEX und DROP INDEX.
SQL_SU_PRIVILEGE_DEFINITION = Schemas werden in allen Berechtigungsdefinitionsanweisungen unterstützt: GRANT und REVOKE.

Ein SQL-92-konformer Treiber für die Einstiegsebene gibt immer die SQL_SU_DML_STATEMENTS-, SQL_SU_TABLE_DEFINITION- und SQL_SU_PRIVILEGE_DEFINITION-Optionen zurück, wie unterstützt.

Dieser InfoType wurde für ODBC 3.0 von ODBC 2.0 InfoType SQL_OWNER_USAGE umbenannt.
SQL_SCROLL_OPTIONS 1.0 Hinweis: Der Informationstyp wurde in ODBC 1.0 eingeführt. jede Bitmaske ist mit der Version beschriftet, in der sie eingeführt wurde.

Eine SQLUINTEGER-Bitmaske, die die für scrollbaren Cursor unterstützten Scrolloptionen aufzählt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Optionen unterstützt werden:
SQL_SO_FORWARD_ONLY = Der Cursor scrollt nur nach vorne. (ODBC 1.0)
SQL_SO_STATIC = Die Daten im Resultset sind statisch. (ODBC 2.0)
SQL_SO_KEYSET_DRIVEN = Der Treiber speichert und verwendet die Schlüssel für jede Zeile im Resultset. (ODBC 1.0)
SQL_SO_DYNAMIC = Der Treiber behält die Schlüssel für jede Zeile im Rowset bei (die Keysetgröße entspricht der Rowsetgröße). (ODBC 1.0)
SQL_SO_MIXED = Der Treiber behält die Schlüssel für jede Zeile im Keyset bei, und die Keysetgröße ist größer als die Rowsetgröße. Der Cursor wird innerhalb des Keysets durch Keyset gesteuert und außerhalb des Keysets dynamisch. (ODBC 1.0)

Informationen zu scrollbaren Cursorn finden Sie unter Scrollbare Cursor.
SQL_SEARCH_PATTERN_ESCAPE 1.0 Eine Zeichenfolge, die angibt, was der Treiber als Escapezeichen unterstützt, das die Verwendung der Musterübergabemetazeichen Unterstrich (_) und Prozentzeichen (%) als gültige Zeichen in Suchmustern ermöglicht. Dieses Escapezeichen gilt nur für die Katalogfunktionsargumente, die Suchzeichenfolgen unterstützen. Wenn diese Zeichenfolge leer ist, unterstützt der Treiber kein Suchmuster-Escapezeichen.

Da dieser Informationstyp keine allgemeine Unterstützung des Escapezeichens im LIKE-Prädikat angibt, enthält SQL-92 keine Anforderungen für diese Zeichenfolge.

Dieser InfoType ist auf Katalogfunktionen beschränkt. Eine Beschreibung der Verwendung des Escapezeichens in Suchmusterzeichenfolgen finden Sie unter Musterwertargumente.
SQL_SERVER_NAME 1.0 Eine Zeichenfolge mit dem tatsächlichen datenquellenspezifischen Servernamen; nützlich, wenn ein Datenquellenname während SQLConnect, SQLDriverConnect und SQLBrowseConnect verwendet wird.
SQL_SPECIAL_CHARACTERS 2.0 Eine Zeichenfolge, die alle Sonderzeichen (d. h. alle Zeichen mit Ausnahme von a bis z, A bis Z, 0 bis 9 und Unterstrich) enthält, die in einem Bezeichnernamen verwendet werden können, z. B. tabellen-, Spalten- oder Indexname, in der Datenquelle. Beispiel: "#$^". Wenn ein Bezeichner eines oder mehrere dieser Zeichen enthält, muss der Bezeichner ein durch Trennzeichen getrenntes Bezeichner sein.
SQL_SQL_CONFORMANCE 3.0 Ein SQLUINTEGER-Wert, der die vom Treiber unterstützte SQL-92-Ebene angibt:
SQL_SC_SQL92_ENTRY = SQL-92-Konform der Einstiegsebene.
SQL_SC_FIPS127_2_TRANSITIONAL = FIPS 127-2-Übergangsstufe konform.
SQL_SC_SQL92_FULL = SQL-92-konform.
SQL_SC_ SQL92_INTERMEDIATE = SQL-92-Kompatibel auf mittlerer Ebene.
SQL_SQL92_DATETIME_FUNCTIONS 3.0 Eine SQLUINTEGER-Bitmaske, die die vom Treiber und der zugeordneten Datenquelle unterstützten datetime-Skalarfunktionen aufzählt, wie in SQL-92 definiert.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche datetime-Funktionen unterstützt werden:
SQL_SDF_CURRENT_DATE
SQL_SDF_CURRENT_TIME
SQL_SDF_CURRENT_TIMESTAMP
SQL_SQL92_FOREIGN_KEY_DELETE_RULE 3.0 Eine SQLUINTEGER-Bitmaske, die die in SQL-92 definierten Regeln für einen Fremdschlüssel in einer DELETE-Anweisung aufzählt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln von der Datenquelle unterstützt werden:
SQL_SFKD_CASCADE
SQL_SFKD_NO_ACTION
SQL_SFKD_SET_DEFAULT
SQL_SFKD_SET_NULL

Ein FIPS-Level-konformer Treiber gibt immer alle diese Optionen wie unterstützt zurück.
SQL_SQL92_FOREIGN_KEY_UPDATE_RULE 3.0 Eine SQLUINTEGER-Bitmaske, die die regeln aufzählt, die für einen Fremdschlüssel in einer UPDATE-Anweisung unterstützt werden, wie in SQL-92 definiert.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln von der Datenquelle unterstützt werden:
SQL_SFKU_CASCADE
SQL_SFKU_NO_ACTION
SQL_SFKU_SET_DEFAULT
SQL_SFKU_SET_NULL

Ein SQL-92 Full level-konformer Treiber gibt immer alle diese Optionen wie unterstützt zurück.
SQL_SQL92_GRANT 3.0 Eine SQLUINTEGER-Bitmaske, die die in der GRANT-Anweisung unterstützten Klauseln aufzählt, wie in SQL-92 definiert.

Die SQL-92- oder FIPS-Konformitätsebene, auf der dieses Feature unterstützt werden muss, wird in Klammern neben jeder Bitmaske angezeigt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln von der Datenquelle unterstützt werden:
SQL_SG_DELETE_TABLE (Einstiegsstufe)
SQL_SG_INSERT_COLUMN (Mittlere Ebene)
SQL_SG_INSERT_TABLE (Einstiegsstufe)
SQL_SG_REFERENCES_TABLE (Einstiegsstufe)
SQL_SG_REFERENCES_COLUMN (Einstiegsstufe)
SQL_SG_SELECT_TABLE (Einstiegsstufe)
SQL_SG_UPDATE_COLUMN (Einstiegsstufe)
SQL_SG_UPDATE_TABLE (Einstiegsstufe)
SQL_SG_USAGE_ON_DOMAIN (FIPS-Übergangsebene)
SQL_SG_USAGE_ON_CHARACTER_SET (FIPS-Übergangsstufe)
SQL_SG_USAGE_ON_COLLATION (FIPS-Übergangsstufe)
SQL_SG_USAGE_ON_TRANSLATION (FIPS-Übergangsebene)
SQL_SG_WITH_GRANT_OPTION (Einstiegsstufe)
SQL_SQL92_NUMERIC_VALUE_FUNCTIONS 3.0 Eine SQLUINTEGER-Bitmaske, die die skalaren Numerischen Wertfunktionen aufzählt, die vom Treiber und der zugeordneten Datenquelle unterstützt werden, wie in SQL-92 definiert.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche numerischen Funktionen unterstützt werden:
SQL_SNVF_BIT_LENGTH
SQL_SNVF_CHAR_LENGTH
SQL_SNVF_CHARACTER_LENGTH
SQL_SNVF_EXTRACT
SQL_SNVF_OCTET_LENGTH
SQL_SNVF_POSITION
SQL_SQL92_PREDICATES 3.0 Eine SQLUINTEGER-Bitmaske, die die in einer SELECT-Anweisung unterstützten Prädikate aufzählt, wie in SQL-92 definiert.

Die SQL-92- oder FIPS-Konformitätsebene, auf der dieses Feature unterstützt werden muss, wird in Klammern neben jeder Bitmaske angezeigt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Optionen von der Datenquelle unterstützt werden:
SQL_SP_BETWEEN (Einstiegsstufe)
SQL_SP_COMPARISON (Einstiegsstufe)
SQL_SP_EXISTS (Einstiegsstufe)
SQL_SP_IN (Einstiegsstufe)
SQL_SP_ISNOTNULL (Einstiegsstufe)
SQL_SP_ISNULL (Einstiegsstufe)
SQL_SP_LIKE (Einstiegsstufe)
SQL_SP_MATCH_FULL (Vollständige Ebene)
SQL_SP_MATCH_PARTIAL(Vollständige Ebene)
SQL_SP_MATCH_UNIQUE_FULL (Vollständige Ebene)
SQL_SP_MATCH_UNIQUE_PARTIAL (Vollständige Ebene)
SQL_SP_OVERLAPS (FIPS-Übergangsebene)
SQL_SP_QUANTIFIED_COMPARISON (Einstiegsstufe)
SQL_SP_UNIQUE (Einstiegsstufe)
SQL_SQL92_RELATIONAL_JOIN_OPERATORS 3.0 Eine SQLUINTEGER-Bitmaske, die die relationalen Joinoperatoren aufzählt, die in einer SELECT-Anweisung unterstützt werden, wie in SQL-92 definiert.

Die SQL-92- oder FIPS-Konformitätsebene, auf der dieses Feature unterstützt werden muss, wird in Klammern neben jeder Bitmaske angezeigt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Optionen von der Datenquelle unterstützt werden:
SQL_SRJO_CORRESPONDING_CLAUSE (Mittlere Ebene)
SQL_SRJO_CROSS_JOIN (Vollständige Ebene)
SQL_SRJO_EXCEPT_JOIN (Mittlere Ebene)
SQL_SRJO_FULL_OUTER_JOIN (Mittlere Ebene)
SQL_SRJO_INNER_JOIN (FIPS-Übergangsebene)
SQL_SRJO_INTERSECT_JOIN (Mittlere Ebene)
SQL_SRJO_LEFT_OUTER_JOIN (FIPS-Übergangsebene)
SQL_SRJO_NATURAL_JOIN (FIPS-Übergangsstufe)
SQL_SRJO_RIGHT_OUTER_JOIN (FIPS-Übergangsebene)
SQL_SRJO_UNION_JOIN (Vollständige Ebene)

SQL_SRJO_INNER_JOIN gibt die Unterstützung für die INNER JOIN-Syntax an, nicht für die Funktion "Inner Join". Die INNER JOIN-Syntax wird von FIPS TRANSITIONAL unterstützt, während die Inner Join-Funktion ENTRY unterstützt wird.
SQL_SQL92_REVOKE 3.0 Eine SQLUINTEGER-Bitmaske, die die in der REVOKE-Anweisung unterstützten Klauseln aufzählt, wie in SQL-92 definiert, die von der Datenquelle unterstützt wird.

Die SQL-92- oder FIPS-Konformitätsebene, auf der dieses Feature unterstützt werden muss, wird in Klammern neben jeder Bitmaske angezeigt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Klauseln von der Datenquelle unterstützt werden:
SQL_SR_CASCADE (FIPS-Übergangsebene)
SQL_SR_DELETE_TABLE (Einstiegsstufe)
SQL_SR_GRANT_OPTION_FOR (Mittlere Ebene)
SQL_SR_INSERT_COLUMN (Mittlere Ebene)
SQL_SR_INSERT_TABLE (Einstiegsstufe)
SQL_SR_REFERENCES_COLUMN (Einstiegsstufe)
SQL_SR_REFERENCES_TABLE (Einstiegsstufe)
SQL_SR_RESTRICT (FIPS-Übergangsebene)
SQL_SR_SELECT_TABLE (Einstiegsstufe)
SQL_SR_UPDATE_COLUMN (Einstiegsstufe)
SQL_SR_UPDATE_TABLE (Einstiegsstufe)
SQL_SR_USAGE_ON_DOMAIN (FIPS-Übergangsstufe)
SQL_SR_USAGE_ON_CHARACTER_SET (FIPS-Übergangsstufe)
SQL_SR_USAGE_ON_COLLATION (FIPS-Übergangsebene)
SQL_SR_USAGE_ON_TRANSLATION (FIPS-Übergangsebene)
SQL_SQL92_ROW_VALUE_CONSTRUCTOR 3.0 Eine SQLUINTEGER-Bitmaske, die die in einer SELECT-Anweisung unterstützten Zeilenwertkonstruktorausdrücke aufzählt, wie in SQL-92 definiert. Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Optionen von der Datenquelle unterstützt werden:
SQL_SRVC_VALUE_EXPRESSION
SQL_SRVC_NULL
SQL_SRVC_DEFAULT
SQL_SRVC_ROW_SUBQUERY
SQL_SQL92_STRING_FUNCTIONS 3.0 Eine SQLUINTEGER-Bitmaske, die die skalaren Zeichenfolgenfunktionen aufzählt, die vom Treiber und der zugehörigen Datenquelle unterstützt werden, wie in SQL-92 definiert.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Zeichenfolgenfunktionen unterstützt werden:
SQL_SSF_CONVERT
SQL_SSF_LOWERSQL_SSF_UPPER
SQL_SSF_SUBSTRING
SQL_SSF_TRANSLATE
SQL_SSF_TRIM_BOTH
SQL_SSF_TRIM_LEADING
SQL_SSF_TRIM_TRAILING
SQL_SQL92_VALUE_EXPRESSIONS 3.0 Eine SQLUINTEGER-Bitmaske, die die unterstützten Wertausdrücke aufzählt, wie in SQL-92 definiert.

Die SQL-92- oder FIPS-Konformitätsebene, auf der dieses Feature unterstützt werden muss, wird in Klammern neben jeder Bitmaske angezeigt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Optionen von der Datenquelle unterstützt werden:
SQL_SVE_CASE (Mittlere Ebene)
SQL_SVE_CAST (FIPS-Übergangsebene)
SQL_SVE_COALESCE (Mittlere Ebene)
SQL_SVE_NULLIF (Mittlere Ebene)
SQL_STANDARD_CLI_CONFORMANCE 3.0 Eine SQLUINTEGER-Bitmaske, die den CLI-Standard bzw. die -Standards aufzählt, denen der Treiber entspricht. Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Ebenen der Treiber erfüllt:
SQL_SCC_XOPEN_CLI_VERSION1: Der Treiber entspricht der Open Group CLI-Version 1.
SQL_SCC_ISO92_CLI: Der Treiber entspricht der ISO 92 CLI.
SQL_STATIC_CURSOR_ATTRIBUTES1 3.0 Eine SQLUINTEGER-Bitmaske, die die Attribute eines statischen Cursors beschreibt, die vom Treiber unterstützt werden. Diese Bitmaske enthält die erste Teilmenge von Attributen. die zweite Teilmenge finden Sie unter SQL_STATIC_CURSOR_ATTRIBUTES2.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Attribute unterstützt werden:
SQL_CA1_NEXT
SQL_CA1_ABSOLUTE
SQL_CA1_RELATIVE
SQL_CA1_BOOKMARK
SQL_CA1_LOCK_NO_CHANGE
SQL_CA1_LOCK_EXCLUSIVE
SQL_CA1_LOCK_UNLOCK
SQL_CA1_POS_POSITION
SQL_CA1_POS_UPDATE
SQL_CA1_POS_DELETE
SQL_CA1_POS_REFRESH
SQL_CA1_POSITIONED_UPDATE
SQL_CA1_POSITIONED_DELETE
SQL_CA1_SELECT_FOR_UPDATE
SQL_CA1_BULK_ADD
SQL_CA1_BULK_UPDATE_BY_BOOKMARK
SQL_CA1_BULK_DELETE_BY_BOOKMARK
SQL_CA1_BULK_FETCH_BY_BOOKMARK

Beschreibungen dieser Bitmasken finden Sie unter SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (und ersetzen Sie in den Beschreibungen "statischer Cursor" durch "dynamischen Cursor").

Ein SQL-92-konformer Treiber für mittlere Ebenen gibt normalerweise die SQL_CA1_NEXT-, SQL_CA1_ABSOLUTE- und SQL_CA1_RELATIVE-Optionen zurück, da der Treiber scrollbare Cursor durch die eingebettete SQL FETCH-Anweisung unterstützt. Da dies die zugrunde liegende SQL-Unterstützung nicht direkt bestimmt, werden scrollbare Cursor möglicherweise nicht unterstützt, auch nicht für einen SQL-92-konformen Treiber mit mittlerer Ebene.
SQL_STATIC_CURSOR_ATTRIBUTES2 3.0 Eine SQLUINTEGER-Bitmaske, die die Attribute eines statischen Cursors beschreibt, die vom Treiber unterstützt werden. Diese Bitmaske enthält die zweite Teilmenge von Attributen. die erste Teilmenge finden Sie unter SQL_STATIC_CURSOR_ATTRIBUTES1.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Attribute unterstützt werden:
SQL_CA2_READ_ONLY_CONCURRENCY
SQL_CA2_LOCK_CONCURRENCY
SQL_CA2_OPT_ROWVER_CONCURRENCY
SQL_CA2_OPT_VALUES_CONCURRENCY
SQL_CA2_SENSITIVITY_ADDITIONS
SQL_CA2_SENSITIVITY_DELETIONS
SQL_CA2_SENSITIVITY_UPDATES
SQL_CA2_MAX_ROWS_SELECT
SQL_CA2_MAX_ROWS_INSERT
SQL_CA2_MAX_ROWS_DELETE
SQL_CA2_MAX_ROWS_UPDATE
SQL_CA2_MAX_ROWS_CATALOG
SQL_CA2_MAX_ROWS_AFFECTS_ALL
SQL_CA2_CRC_EXACT
SQL_CA2_CRC_APPROXIMATE
SQL_CA2_SIMULATE_NON_UNIQUE
SQL_CA2_SIMULATE_TRY_UNIQUE
SQL_CA2_SIMULATE_UNIQUE

Beschreibungen dieser Bitmasken finden Sie unter SQL_DYNAMIC_CURSOR_ATTRIBUTES2 (und ersetzen Sie in den Beschreibungen "statischer Cursor" durch "dynamischen Cursor").
SQL_STRING_FUNCTIONS 1.0 Hinweis: Der Informationstyp wurde in ODBC 1.0 eingeführt. jede Bitmaske ist mit der Version beschriftet, in der sie eingeführt wurde.

Eine SQLUINTEGER-Bitmaske, die die skalaren Zeichenfolgenfunktionen aufzählt, die vom Treiber und der zugehörigen Datenquelle unterstützt werden.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Zeichenfolgenfunktionen unterstützt werden:
SQL_FN_STR_ASCII (ODBC 1.0)
SQL_FN_STR_BIT_LENGTH (ODBC 3.0)
SQL_FN_STR_CHAR (ODBC 1.0)
SQL_FN_STR_CHAR_LENGTH (ODBC 3.0)
SQL_FN_STR_CHARACTER_LENGTH (ODBC 3.0)
SQL_FN_STR_CONCAT (ODBC 1.0)
SQL_FN_STR_DIFFERENCE (ODBC 2.0)
SQL_FN_STR_INSERT (ODBC 1.0)
SQL_FN_STR_LCASE (ODBC 1.0)
SQL_FN_STR_LEFT (ODBC 1.0)
SQL_FN_STR_LENGTH (ODBC 1.0)
SQL_FN_STR_LOCATE (ODBC 1.0)
SQL_FN_STR_LTRIM (ODBC 1.0)
SQL_FN_STR_OCTET_LENGTH (ODBC 3.0)
SQL_FN_STR_POSITION (ODBC 3.0)
SQL_FN_STR_REPEAT (ODBC 1.0)
SQL_FN_STR_REPLACE (ODBC 1.0)
SQL_FN_STR_RIGHT (ODBC 1.0)
SQL_FN_STR_RTRIM (ODBC 1.0)
SQL_FN_STR_SOUNDEX (ODBC 2.0)
SQL_FN_STR_SPACE (ODBC 2.0)
SQL_FN_STR_SUBSTRING (ODBC 1.0)
SQL_FN_STR_UCASE (ODBC 1.0)

Wenn eine Anwendung die LOCATE-Skalarfunktion mit den Argumenten string_exp1, string_exp2 und Start aufrufen kann, gibt der Treiber die SQL_FN_STR_LOCATE Bitmaske zurück. Wenn eine Anwendung die LOCATE-Skalarfunktion nur mit den Argumenten string_exp1 und string_exp2 aufrufen kann, gibt der Treiber die SQL_FN_STR_LOCATE_2 Bitmaske zurück. Treiber, die die LOCATE-Skalarfunktion vollständig unterstützen, geben beide Bitmasken zurück.

(Weitere Informationen finden Sie unter Zeichenfolgenfunktionen in Anhang E, "Skalarfunktionen.")
SQL_SUBQUERIES 2.0 Eine SQLUINTEGER-Bitmaske, die die Prädikate aufzählt, die Unterabfragen unterstützen:
SQL_SQ_CORRELATED_SUBQUERIES
SQL_SQ_COMPARISON
SQL_SQ_EXISTS
SQL_SQ_INSQL_SQ_QUANTIFIED

Die SQL_SQ_CORRELATED_SUBQUERIES Bitmaske gibt an, dass alle Prädikate, die Unterabfragen unterstützen, korrelierte Unterabfragen unterstützen.

Ein SQL-92-treiber, der der Einstiegsebene entspricht, gibt immer eine Bitmaske zurück, in der alle diese Bits festgelegt sind.
SQL_SYSTEM_FUNCTIONS 1.0 Eine SQLUINTEGER-Bitmaske, die die skalaren Systemfunktionen aufzählt, die vom Treiber und der zugehörigen Datenquelle unterstützt werden.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Systemfunktionen unterstützt werden:
SQL_FN_SYS_DBNAME
SQL_FN_SYS_IFNULL
SQL_FN_SYS_USERNAME
SQL_TABLE_TERM 1.0 Eine Zeichenfolge mit dem Namen des Datenquellenanbieters für eine Tabelle; beispiel: "table" oder "file".

Diese Zeichenfolge kann in groß-, klein- oder gemischter Groß-/Kleinschreibung vorliegen.

Ein SQL-92-Treiber, der der Einstiegsebene entspricht, gibt immer "table" zurück.
SQL_TIMEDATE_ADD_INTERVALS 2.0 Eine SQLUINTEGER-Bitmaske, die die Zeitstempelintervalle aufzählt, die vom Treiber und der zugehörigen Datenquelle für die TIMESTAMPADD-Skalarfunktion unterstützt werden.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Intervalle unterstützt werden:
SQL_FN_TSI_FRAC_SECOND
SQL_FN_TSI_SECOND
SQL_FN_TSI_MINUTE
SQL_FN_TSI_HOUR
SQL_FN_TSI_DAY
SQL_FN_TSI_WEEK
SQL_FN_TSI_MONTH
SQL_FN_TSI_QUARTER
SQL_FN_TSI_YEAR

Ein FIPS-Level-konformer Treiber gibt immer eine Bitmaske zurück, in der alle diese Bits festgelegt sind.
SQL_TIMEDATE_DIFF_INTERVALS 2.0 Eine SQLUINTEGER-Bitmaske, die die Zeitstempelintervalle aufzählt, die vom Treiber und der zugehörigen Datenquelle für die TIMESTAMPDIFF-Skalarfunktion unterstützt werden.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Intervalle unterstützt werden:
SQL_FN_TSI_FRAC_SECOND
SQL_FN_TSI_SECOND
SQL_FN_TSI_MINUTE
SQL_FN_TSI_HOUR
SQL_FN_TSI_DAY
SQL_FN_TSI_WEEK
SQL_FN_TSI_MONTH
SQL_FN_TSI_QUARTER
SQL_FN_TSI_YEAR

Ein FIPS-Level-konformer Treiber gibt immer eine Bitmaske zurück, in der alle diese Bits festgelegt sind.
SQL_TIMEDATE_FUNCTIONS 1.0 Hinweis: Der Informationstyp wurde in ODBC 1.0 eingeführt. Jede Bitmaske wird mit der Version beschriftet, in der sie eingeführt wurde.

Eine SQLUINTEGER-Bitmaske, die die vom Treiber und der zugeordneten Datenquelle unterstützten skalaren Datums- und Uhrzeitfunktionen aufzählt.

Die folgenden Bitmasken werden verwendet, um zu bestimmen, welche Datums- und Uhrzeitfunktionen unterstützt werden:
SQL_FN_TD_CURRENT_DATE (ODBC 3.0)
SQL_FN_TD_CURRENT_TIME (ODBC 3.0)
SQL_FN_TD_CURRENT_TIMESTAMP (ODBC 3.0)
SQL_FN_TD_CURDATE (ODBC 1.0)
SQL_FN_TD_CURTIME (ODBC 1.0)
SQL_FN_TD_DAYNAME (ODBC 2.0)
SQL_FN_TD_DAYOFMONTH (ODBC 1.0)
SQL_FN_TD_DAYOFWEEK (ODBC 1.0)
SQL_FN_TD_DAYOFYEAR (ODBC 1.0)
SQL_FN_TD_EXTRACT (ODBC 3.0)
SQL_FN_TD_HOUR (ODBC 1.0)
SQL_FN_TD_MINUTE (ODBC 1.0)
SQL_FN_TD_MONTH (ODBC 1.0)
SQL_FN_TD_MONTHNAME (ODBC 2.0)
SQL_FN_TD_NOW (ODBC 1.0)
SQL_FN_TD_QUARTER (ODBC 1.0)
SQL_FN_TD_SECOND (ODBC 1.0)
SQL_FN_TD_TIMESTAMPADD (ODBC 2.0)
SQL_FN_TD_TIMESTAMPDIFF (ODBC 2.0)
SQL_FN_TD_WEEK (ODBC 1.0)
SQL_FN_TD_YEAR (ODBC 1.0)
SQL_TXN_CAPABLE 1.0 Hinweis: Der Informationstyp wurde in ODBC 1.0 eingeführt. Jeder Rückgabewert wird mit der Version bezeichnet, in der er eingeführt wurde.

Ein SQLUSMALLINT-Wert, der die Transaktionsunterstützung im Treiber oder der Datenquelle beschreibt:
SQL_TC_NONE = Transaktionen werden nicht unterstützt. (ODBC 1.0)
SQL_TC_DML = Transaktionen dürfen nur DML-Anweisungen (Data Manipulation Language) (SELECT, INSERT, UPDATE, DELETE) enthalten. In einer Transaktion gefundene DDL-Anweisungen (Data Definition Language) verursachen einen Fehler. (ODBC 1.0)
SQL_TC_DDL_COMMIT = Transaktionen dürfen nur DML-Anweisungen enthalten. DDL-Anweisungen (CREATE TABLE, DROP INDEX usw.), die in einer Transaktion gefunden werden, führen dazu, dass die Transaktion committet wird. (ODBC 2.0)
SQL_TC_DDL_IGNORE = Transaktionen dürfen nur DML-Anweisungen enthalten. DDL-Anweisungen, die in einer Transaktion gefunden werden, werden ignoriert. (ODBC 2.0)
SQL_TC_ALL = Transaktionen können DDL-Anweisungen und DML-Anweisungen in beliebiger Reihenfolge enthalten. (ODBC 1.0)

(Da die Unterstützung von Transaktionen in SQL-92 obligatorisch ist, gibt ein SQL-92-konformer Treiber [beliebige Ebene] nie SQL_TC_NONE zurück.)
SQL_TXN_ISOLATION_OPTION 1.0 Eine SQLUINTEGER-Bitmaske, die die vom Treiber oder der Datenquelle verfügbaren Transaktionsisolationsstufen aufzählt.

Die folgenden Bitmasken werden zusammen mit dem Flag verwendet, um zu bestimmen, welche Optionen unterstützt werden:
SQL_TXN_READ_UNCOMMITTED
SQL_TXN_READ_COMMITTED
SQL_TXN_REPEATABLE_READ
SQL_TXN_SERIALIZABLE

Beschreibungen dieser Isolationsstufen finden Sie in der Beschreibung von SQL_DEFAULT_TXN_ISOLATION.

Um die Transaktionsisolationsstufe festzulegen, ruft eine Anwendung SQLSetConnectAttr auf, um das attribut SQL_ATTR_TXN_ISOLATION festzulegen. Weitere Informationen finden Sie unter SQLSetConnectAttr-Funktion.

Ein SQL-92-treiber, der der Einstiegsebene entspricht, gibt immer SQL_TXN_SERIALIZABLE zurück, wie unterstützt. Ein FIPS Transitional Level-konformer Treiber gibt immer alle diese Optionen als unterstützt zurück.
SQL_UNION 2.0 Eine SQLUINTEGER-Bitmaske, die die Unterstützung für die UNION-Klausel aufzählt:
SQL_U_UNION = Die Datenquelle unterstützt die UNION-Klausel .
SQL_U_UNION_ALL = Die Datenquelle unterstützt das Schlüsselwort ALL in der UNION-Klausel . (SQLGetInfo gibt in diesem Fall sowohl SQL_U_UNION als auch SQL_U_UNION_ALL zurück.)

Ein SQL-92-Treiber, der der Einstiegsebene entspricht, gibt immer beide Optionen als unterstützt zurück.
SQL_USER_NAME 1.0 Eine Zeichenfolge mit dem in einer bestimmten Datenbank verwendeten Namen, der sich vom Anmeldenamen unterscheiden kann.
SQL_XOPEN_CLI_YEAR 3.0 Eine Zeichenfolge, die das Jahr der Veröffentlichung der Open Group-Spezifikation angibt, der die Version des ODBC-Treiber-Managers vollständig entspricht.

Beispiel

SQLGetInfo gibt Listen der unterstützten Optionen als SQLUINTEGER-Bitmaske in *InfoValuePtr zurück. Die Bitmaske für jede Option wird zusammen mit dem Flag verwendet, um zu bestimmen, ob die Option unterstützt wird.

Beispielsweise könnte eine Anwendung den folgenden Code verwenden, um zu bestimmen, ob die skalare SUBSTRING-Funktion von dem der Verbindung zugeordneten Treiber unterstützt wird.

Ein weiteres Beispiel für die Verwendung von SQLGetInfo finden Sie unter SQLTables-Funktion.

SQLUINTEGER fFuncs;  
  
SQLGetInfo(hdbc,  
           SQL_STRING_FUNCTIONS,  
           (SQLPOINTER)&fFuncs,  
           sizeof(fFuncs),  
           NULL);  
  
// SUBSTRING supported  
if (fFuncs & SQL_FN_STR_SUBSTRING)  
   ;   // do something  
  
// SUBSTRING not supported  
else  
   ;   // do something else  

Zurückgeben der Einstellung eines Verbindungsattributes
SQLGetConnectAttr-Funktion

Bestimmen, ob ein Treiber eine Funktion unterstützt
SQLGetFunctions-Funktion

Zurückgeben der Einstellung eines Anweisungsattributs
SQLGetStmtAttr-Funktion

Zurückgeben von Informationen zu den Datentypen einer Datenquelle
SQLGetTypeInfo-Funktion

Weitere Informationen

ODBC-API-Referenz
ODBC-Headerdateien