Share via


Função SQLGetInfo

Conformidade
Versão introduzida: Conformidade de padrões do ODBC 1.0: ISO 92

Resumo
SQLGetInfo retorna informações gerais sobre o driver e a fonte de dados associadas a uma conexão.

Sintaxe

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

Argumentos

ConnectionHandle
[Entrada] Identificador de conexão.

Infotipo
[Entrada] Tipo de informação.

InfoValuePtr
[Saída] Ponteiro para um buffer no qual retornar as informações. Dependendo do InfoType solicitado, as informações retornadas serão uma das seguintes: uma cadeia de caracteres terminada em nulo, um valor SQLUSMALLINT, uma máscara de bits SQLUINTEGER, um sinalizador SQLUINTEGER, um valor binário SQLUINTEGER ou um valor SQLULEN.

Se o argumento InfoType for SQL_DRIVER_HDESC ou SQL_DRIVER_HSTMT, o argumento InfoValuePtr será de entrada e saída. (Consulte os descritores SQL_DRIVER_HDESC ou SQL_DRIVER_HSTMT posteriormente nesta descrição da função para obter mais informações.)

Se InfoValuePtr for NULL, StringLengthPtr ainda retornará o número total de bytes (excluindo o caractere de terminação nula para dados de caractere) disponíveis para retornar no buffer apontado por InfoValuePtr.

BufferLength
[Entrada] Comprimento do buffer *InfoValuePtr . Se o valor em *InfoValuePtr não for uma cadeia de caracteres ou se InfoValuePtr for um ponteiro nulo, o argumento BufferLength será ignorado. O driver pressupõe que o tamanho de *InfoValuePtr seja SQLUSMALLINT ou SQLUINTEGER, com base no InfoType. Se *InfoValuePtr for uma cadeia de caracteres Unicode (ao chamar SQLGetInfoW), o argumento BufferLength deverá ser um número par; caso contrário, SQLSTATE HY090 (comprimento de buffer ou cadeia de caracteres inválido) será retornado.

StringLengthPtr
[Saída] Ponteiro para um buffer no qual retornar o número total de bytes (excluindo o caractere de terminação nula para dados de caractere) disponível para retornar em *InfoValuePtr.

Para dados de caracteres, se o número de bytes disponíveis para retornar for maior ou igual a BufferLength, as informações em *InfoValuePtr serão truncadas para bytes BufferLength menos o comprimento de um caractere de terminação nula e serão terminadas em nulo pelo driver.

Para todos os outros tipos de dados, o valor de BufferLength é ignorado e o driver pressupõe que o tamanho de *InfoValuePtr seja SQLUSMALLINT ou SQLUINTEGER, dependendo do InfoType.

Retornos

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR ou SQL_INVALID_HANDLE.

Diagnósticos

Quando SQLGetInfo retorna SQL_ERROR ou SQL_SUCCESS_WITH_INFO, um valor SQLSTATE associado pode ser obtido chamando SQLGetDiagRec com um HandleType de SQL_HANDLE_DBC e um Identificador de ConnectionHandle. A tabela a seguir lista os valores SQLSTATE normalmente retornados por SQLGetInfo e explica cada um deles no contexto dessa função; a notação "(DM)" precede as descrições de SQLSTATEs retornadas pelo Gerenciador de Driver. O código de retorno associado a cada valor SQLSTATE é SQL_ERROR, a menos que indicado o contrário.

SQLSTATE Erro Descrição
01000 Aviso geral Mensagem informativa específica do driver. (A função retorna SQL_SUCCESS_WITH_INFO.)
01004 Dados de cadeia de caracteres, truncados à direita O buffer *InfoValuePtr não era grande o suficiente para retornar todas as informações solicitadas. Portanto, as informações foram truncadas. O comprimento das informações solicitadas em sua forma não confiável é retornado em *StringLengthPtr. (A função retorna SQL_SUCCESS_WITH_INFO.)
08003 Conexão não aberta (DM) O tipo de informação solicitada no InfoType requer uma conexão aberta. Dos tipos de informações reservados pelo ODBC, somente SQL_ODBC_VER pode ser retornado sem uma conexão aberta.
08S01 Falha no link de comunicação O link de comunicação entre o driver e a fonte de dados à qual o driver foi conectado falhou antes da função concluir o processamento.
HY000 Erro geral Ocorreu um erro para o qual não havia nenhum SQLSTATE específico e para o qual nenhum SQLSTATE específico da implementação foi definido. A mensagem de erro retornada por SQLGetDiagRec no buffer *MessageText descreve o erro e sua causa.
HY001 Erro de alocação de memória O driver não pôde alocar memória necessária para dar suporte à execução ou à conclusão da função.
HY010 Erro de sequência de funções (DM) SQLExecute, SQLExecDirect ou SQLMoreResults foi chamado para StatementHandle e retornado SQL_PARAM_DATA_AVAILABLE. Essa função foi chamada antes de os dados serem recuperados para todos os parâmetros transmitidos.
HY013 Erro de gerenciamento de memória A chamada de função não pôde ser processada porque os objetos de memória subjacentes não puderam ser acessados, possivelmente devido a condições de memória baixa.
HY024 Valor de atributo inválido (DM) O argumento InfoType foi SQL_DRIVER_HSTMT e o valor apontado por InfoValuePtr não era um identificador de instrução válido.

(DM) O argumento InfoType foi SQL_DRIVER_HDESC e o valor apontado por InfoValuePtr não era um identificador de descritor válido.
HY090 Comprimento de buffer ou cadeia de caracteres inválido (DM) O valor especificado para o argumento BufferLength era menor que 0.

(DM) O valor especificado para BufferLength era um número ímpar e *InfoValuePtr era de um tipo de dados Unicode.
HY096 Tipo de informação fora do intervalo O valor especificado para o argumento InfoType não era válido para a versão do ODBC compatível com o driver.
HY117 A conexão está suspensa devido ao estado de transação desconhecido. Somente funções desconectar e somente leitura são permitidas. (DM) Para obter mais informações sobre o estado suspenso, consulte Função SQLEndTran.
HYC00 Campo opcional não implementado O valor especificado para o argumento InfoType era um valor específico do driver que não é compatível com o driver.
HYT01 O tempo limite da conexão expirou O período de tempo limite da conexão expirou antes da fonte de dados responder à solicitação. O período de tempo limite da conexão é definido por meio de SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT.
IM001 O driver não dá suporte a essa função (DM) O driver que corresponde ao ConnectionHandle não dá suporte à função.

Comentários

Os tipos de informações definidos atualmente são mostrados em "Tipos de Informações", posteriormente nesta seção; espera-se que mais sejam definidos para aproveitar diferentes fontes de dados. Um intervalo de tipos de informações é reservado pelo ODBC; os desenvolvedores de driver devem reservar valores para seu próprio uso específico do driver do Open Group. SQLGetInfo não executa conversão unicode ou conversão (consulte Apêndice A: Códigos de erro ODBC da Referência do Programador ODBC) para InfoTypes definidos pelo driver. Para obter mais informações, consulte Tipos de dados específicos do driver, tipos de descritor, tipos de informações, tipos de diagnóstico e atributos. O formato das informações retornadas em *InfoValuePtr depende do InfoType solicitado. SQLGetInfo retornará informações em um dos cinco formatos diferentes:

  • Uma cadeia de caracteres terminada em nulo

  • Um valor SQLUSMALLINT

  • Uma máscara de bits SQLUINTEGER

  • Um valor SQLUINTEGER

  • Um valor binário SQLUINTEGER

O formato de cada um dos tipos de informações a seguir é observado na descrição do tipo. O aplicativo deve converter o valor retornado em *InfoValuePtr adequadamente. Para obter um exemplo de como um aplicativo pode recuperar dados de uma máscara de bits SQLUINTEGER, consulte "Exemplo de código".

Um driver deve retornar um valor para cada tipo de informação definido nas tabelas a seguir. Se um tipo de informação não se aplicar ao driver ou à fonte de dados, o driver retornará um dos valores listados na tabela a seguir.

Tipo de informação Valor
Cadeia de caracteres ("Y" ou "N") "N"
Cadeia de caracteres (não "Y" ou "N") cadeia de caracteres vazia
SQLUSMALLINT 0
Máscara de bits SQLUINTEGER ou valor binário SQLUINTEGER 0L

Por exemplo, se uma fonte de dados não der suporte a procedimentos, SQLGetInfo retornará os valores listados na tabela a seguir para os valores de InfoType relacionados a procedimentos.

Infotipo Valor
SQL_PROCEDURES "N"
SQL_ACCESSIBLE_PROCEDURES "N"
SQL_MAX_PROCEDURE_NAME_LEN 0
SQL_PROCEDURE_TERM cadeia de caracteres vazia

SQLGetInfo retorna SQLSTATE HY096 (valor de argumento inválido) para valores de InfoType que estão no intervalo de tipos de informações reservados para uso pelo ODBC, mas não são definidos pela versão do ODBC compatível com o driver. Para determinar com qual versão do ODBC um driver está em conformidade, um aplicativo chama SQLGetInfo com o tipo de informações SQL_DRIVER_ODBC_VER. SQLGetInfo retorna SQLSTATE HYC00 (recurso opcional não implementado) para valores de InfoType que estão no intervalo de tipos de informações reservados para uso específico do driver, mas não têm suporte do driver.

Todas as chamadas para SQLGetInfo exigem uma conexão aberta, exceto quando o InfoType é SQL_ODBC_VER, que retorna a versão do Gerenciador de Driver.

Tipos de informações

Esta seção lista os tipos de informações com suporte do SQLGetInfo. Os tipos de informações são agrupados categoricamente e listados em ordem alfabética. Os tipos de informações que foram adicionados ou renomeados para ODBC 3*.x* também estão listados.

Informações do driver

Os seguintes valores do argumento InfoType retornam informações sobre o driver ODBC, como o número de instruções ativas, o nome da fonte de dados e o nível de conformidade dos padrões de interface:

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

Observação

Ao implementar o SQLGetInfo, um driver pode melhorar o desempenho minimizando o número de vezes que as informações são enviadas ou solicitadas do servidor.

Informações do produto DBMS

Os seguintes valores do argumento InfoType retornam informações sobre o produto DBMS, como o nome e a versão do DBMS:

SQL_DATABASE_NAME
SQL_DBMS_NAME

SQL_DBMS_VER

Informações da fonte de dados

Os seguintes valores do argumento InfoType retornam informações sobre a fonte de dados, como características de cursor e funcionalidades de transação:

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

SQL com suporte

Os valores a seguir do argumento InfoType retornam informações sobre as instruções SQL compatíveis com a fonte de dados. A sintaxe SQL de cada recurso descrito por esses tipos de informações é a sintaxe SQL-92. Esses tipos de informações não descrevem exaustivamente toda a gramática SQL-92. Em vez disso, eles descrevem as partes da gramática para as quais as fontes de dados normalmente oferecem diferentes níveis de suporte. Especificamente, a maioria das instruções DDL no SQL-92 são abordadas.

Os aplicativos devem determinar o nível geral de gramática com suporte do tipo de informações SQL_SQL_CONFORMANCE e usar os outros tipos de informações para determinar variações do nível de conformidade de padrões declarados.

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

Limites do SQL

Os valores a seguir do argumento InfoType retornam informações sobre os limites aplicados a identificadores e cláusulas em instruções SQL, como os comprimentos máximos dos identificadores e o número máximo de colunas em uma lista de seleção. As limitações podem ser impostas pelo driver ou pela fonte de dados.

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

Informações da função escalar

Os valores a seguir do argumento InfoType retornam informações sobre as funções escalares compatíveis com a fonte de dados e o driver. Para obter mais informações sobre funções escalares, consulte Apêndice E: Funções escalares.

SQL_CONVERT_FUNCTIONS
SQL_NUMERIC_FUNCTIONS
SQL_STRING_FUNCTIONS
SQL_SYSTEM_FUNCTIONS

SQL_TIMEDATE_ADD_INTERVALS
SQL_TIMEDATE_DIFF_INTERVALS
SQL_TIMEDATE_FUNCTIONS

Informações de conversão

Os seguintes valores do argumento InfoType retornam uma lista dos tipos de dados SQL para os quais a fonte de dados pode converter o tipo de dados SQL especificado com a função escalar CONVERT :

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

Tipos de informações adicionados para o ODBC 3.x

Os seguintes valores do argumento InfoType foram adicionados para ODBC 3.x:

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

Tipos de informações renomeados para ODBC 3.x

Os valores a seguir do argumento InfoType foram renomeado para ODBC 3.x.

Nome Antigo Novo nome
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

Tipos de informações preteridos no ODBC 3.x

Os valores a seguir do argumento InfoType foram preteridos no ODBC 3.x. Os drivers ODBC 3.x devem continuar a dar suporte a esses tipos de informações para compatibilidade com versões anteriores com aplicativos ODBC 2.x. (Para obter mais informações sobre esses tipos, consulte Suporte do SQLGetInfo no Apêndice G: Diretrizes de driver para compatibilidade com versões anteriores.)

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

Descrições de tipo de informação

A tabela a seguir lista em ordem alfabética cada tipo de informação, a versão do ODBC na qual foi introduzida e sua descrição.

Information Type Versão do ODBC Descrição
SQL_ACCESSIBLE_PROCEDURES 1.0 Uma cadeia de caracteres: "Y" se o usuário puder executar todos os procedimentos retornados por SQLProcedures; "N" se houver procedimentos retornados que o usuário não pode executar.
SQL_ACCESSIBLE_TABLES 1.0 Uma cadeia de caracteres: "Y" se o usuário tiver privilégios SELECT garantidos para todas as tabelas retornadas por SQLTables; "N" se puder haver tabelas retornadas que o usuário não possa acessar.
SQL_ACTIVE_ENVIRONMENTS 3.0 Um valor SQLUSMALLINT que especifica o número máximo de ambientes ativos aos quais o driver pode dar suporte. Se não houver nenhum limite especificado ou se o limite for desconhecido, esse valor será definido como zero.
SQL_AGGREGATE_FUNCTIONS 3.0 Um suporte de enumeração de bits SQLUINTEGER para funções de agregação:
SQL_AF_ALL
SQL_AF_AVG
SQL_AF_COUNT
SQL_AF_DISTINCT
SQL_AF_MAX
SQL_AF_MIN
SQL_AF_SUM

Um driver compatível com o nível de entrada do SQL-92 sempre retornará todas essas opções conforme o suporte.
SQL_ALTER_DOMAIN 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução ALTER DOMAIN , conforme definido no SQL-92, compatível com a fonte de dados. Um driver compatível com nível completo do SQL-92 sempre retornará todas as máscaras de bits. Um valor retornado de "0" significa que não há suporte para a instrução ALTER DOMAIN .

O nível de conformidade sql-92 ou FIPS no qual esse recurso deve ter suporte é mostrado entre parênteses ao lado de cada máscara de bits.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte:
SQL_AD_ADD_DOMAIN_CONSTRAINT = Há suporte para a adição de uma restrição de domínio (nível completo)
SQL_AD_ADD_DOMAIN_DEFAULT = <a cláusula> alter domain><set domain default tem suporte (nível completo)
SQL_AD_CONSTRAINT_NAME_DEFINITION = <cláusula> de definição de nome de restrição tem suporte para restrição de domínio de nomenclatura (nível intermediário)
SQL_AD_DROP_DOMAIN_CONSTRAINT = <há suporte para a cláusula> de restrição de domínio de remoção (nível completo)
SQL_AD_DROP_DOMAIN_DEFAULT = <a cláusula> alter domain><drop domain default tem suporte (nível completo)

Os bits a seguir especificam os atributos> de restrição com <suporte se <houver suporte para adicionar restrição> de domínio (o bit SQL_AD_ADD_DOMAIN_CONSTRAINT está definido):
SQL_AD_ADD_CONSTRAINT_DEFERRABLE (nível completo)
SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE (nível completo)
SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED (nível completo)
SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE (nível completo)
SQL_ALTER_TABLE 2.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução ALTER TABLE compatível com a fonte de dados.

O nível de conformidade sql-92 ou FIPS no qual esse recurso deve ter suporte é mostrado entre parênteses ao lado de cada máscara de bits.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte:
SQL_AT_ADD_COLUMN_COLLATION = <a cláusula add column> tem suporte, com facilidade para especificar ordenação de coluna (nível completo) (ODBC 3.0)
SQL_AT_ADD_COLUMN_DEFAULT = <a cláusula add column> tem suporte, com facilidade para especificar padrões de coluna (nível de transição FIPS) (ODBC 3.0)
SQL_AT_ADD_COLUMN_SINGLE = <há suporte para adicionar coluna> (nível de transição FIPS) (ODBC 3.0)
SQL_AT_ADD_CONSTRAINT = <a cláusula add column> tem suporte, com facilidade para especificar restrições de coluna (nível de transição FIPS) (ODBC 3.0)
SQL_AT_ADD_TABLE_CONSTRAINT = <há suporte para a cláusula adicionar restrição> de tabela (nível de transição FIPS) (ODBC 3.0)
SQL_AT_CONSTRAINT_NAME_DEFINITION = <definição de nome de restrição> tem suporte para nomenclatura de restrições de coluna e tabela (nível intermediário) (ODBC 3.0)
SQL_AT_DROP_COLUMN_CASCADE = <a coluna de remoção> CASCADE tem suporte (nível de transição FIPS) (ODBC 3.0)
SQL_AT_DROP_COLUMN_DEFAULT = <a cláusula> padrão alter column><drop column tem suporte (nível intermediário) (ODBC 3.0)
SQL_AT_DROP_COLUMN_RESTRICT = <a coluna de remoção> RESTRICT tem suporte (nível de transição FIPS) (ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE (ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = <a coluna de remoção> RESTRICT tem suporte (nível de transição FIPS) (ODBC 3.0)
SQL_AT_SET_COLUMN_DEFAULT = <a cláusula> padrão de coluna alter column><set tem suporte (nível intermediário) (ODBC 3.0)

Os bits a seguir especificam os atributos> de restrição de suporte <se houver suporte para especificar restrições de coluna ou tabela (o bit SQL_AT_ADD_CONSTRAINT está definido):
SQL_AT_CONSTRAINT_INITIALLY_DEFERRED (nível completo) (ODBC 3.0)
SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE (nível completo) (ODBC 3.0)
SQL_AT_CONSTRAINT_DEFERRABLE (nível completo) (ODBC 3.0)
SQL_AT_CONSTRAINT_NON_DEFERRABLE (nível completo) (ODBC 3.0)
SQL_ASYNC_DBC_FUNCTIONS 3.8 Um valor SQLUINTEGER que indica se o driver pode executar funções de forma assíncrona no identificador de conexão.

SQL_ASYNC_DBC_CAPABLE = O driver pode executar funções de conexão de forma assíncrona.
SQL_ASYNC_DBC_NOT_CAPABLE = O driver não pode executar funções de conexão de forma assíncrona.
SQL_ASYNC_MODE 3.0 Um valor SQLUINTEGER que indica o nível de suporte assíncrono no driver:

SQL_AM_CONNECTION = Há suporte para execução assíncrona no nível da conexão. Todos os identificadores de instrução associados a um determinado identificador de conexão estão no modo assíncrono ou todos estão no modo síncrono. Um identificador de instrução em uma conexão não pode estar no modo assíncrono enquanto outro identificador de instrução na mesma conexão estiver no modo síncrono e vice-versa.
SQL_AM_STATEMENT = Há suporte para execução assíncrona no nível da instrução. Alguns identificadores de instrução associados a um identificador de conexão podem estar no modo assíncrono, enquanto outros identificadores de instrução na mesma conexão estão no modo síncrono.
SQL_AM_NONE = Não há suporte para o modo assíncrono.
SQL_ASYNC_NOTIFICATION 3.8 Um valor SQLUINTEGER que indica se o driver dá suporte à notificação assíncrona:

SQL_ASYNC_NOTIFICATION_CAPABLE = A notificação de execução assíncrona é compatível com o driver.
SQL_ASYNC_NOTIFICATION_NOT_CAPABLE = A notificação de execução assíncrona não tem suporte do driver.

Há duas categorias de operações assíncronas ODBC: operações assíncronas no nível da conexão e operações assíncronas no nível da instrução. Se um driver retornar SQL_ASYNC_NOTIFICATION_CAPABLE, ele deverá dar suporte à notificação para todas as APIs que ele pode executar de forma assíncrona.
SQL_BATCH_ROW_COUNT 3.0 Uma máscara de bits SQLUINTEGER que enumera o comportamento do driver em relação à disponibilidade de contagens de linhas. As máscaras de bits a seguir são usadas junto com o tipo de informação:

SQL_BRC_ROLLED_UP = Contagens de linhas para instruções INSERT, DELETE ou UPDATE consecutivas são acumuladas em uma. Se esse bit não estiver definido, as contagens de linhas estarão disponíveis para cada instrução.
SQL_BRC_PROCEDURES = Contagens de linhas, se houver, estão disponíveis quando um lote é executado em um procedimento armazenado. Se as contagens de linhas estiverem disponíveis, elas poderão ser acumuladas ou disponíveis individualmente, dependendo do SQL_BRC_ROLLED_UP bit.
SQL_BRC_EXPLICIT = Contagens de linhas, se houver, estão disponíveis quando um lote é executado diretamente chamando SQLExecute ou SQLExecDirect. Se as contagens de linhas estiverem disponíveis, elas poderão ser acumuladas ou disponíveis individualmente, dependendo do SQL_BRC_ROLLED_UP bit.
SQL_BATCH_SUPPORT 3.0 Uma máscara de bits SQLUINTEGER enumerando o suporte do driver para lotes. As máscaras de bits a seguir são usadas para determinar qual nível tem suporte:

SQL_BS_SELECT_EXPLICIT = O driver dá suporte a lotes explícitos que podem ter instruções de geração de conjunto de resultados.
SQL_BS_ROW_COUNT_EXPLICIT = O driver dá suporte a lotes explícitos que podem ter instruções de geração de contagem de linhas.
SQL_BS_SELECT_PROC = O driver dá suporte a procedimentos explícitos que podem ter instruções de geração de conjunto de resultados.
SQL_BS_ROW_COUNT_PROC = O driver dá suporte a procedimentos explícitos que podem ter instruções de geração de contagem de linhas.
SQL_BOOKMARK_PERSISTENCE 2.0 Uma máscara de bits SQLUINTEGER enumerando as operações por meio das quais os indicadores persistem. As máscaras de bits a seguir são usadas junto com o sinalizador para determinar por quais opções os indicadores persistem:

SQL_BP_CLOSE = Indicadores são válidos depois que um aplicativo chama SQLFreeStmt com a opção SQL_CLOSE ou SQLCloseCursor para fechar o cursor associado a uma instrução .
SQL_BP_DELETE = O indicador de uma linha é válido depois que essa linha é excluída.
SQL_BP_DROP = Indicadores são válidos depois que um aplicativo chama SQLFreeHandle com um HandleType de SQL_HANDLE_STMT para remover uma instrução .
SQL_BP_TRANSACTION = Indicadores são válidos depois que um aplicativo confirma ou reverte uma transação.
SQL_BP_UPDATE = O indicador de uma linha é válido depois que qualquer coluna nessa linha é atualizada, incluindo colunas de chave.
SQL_BP_OTHER_HSTMT = Um indicador associado a uma instrução pode ser usado com outra instrução. A menos que SQL_BP_CLOSE ou SQL_BP_DROP seja especificado, o cursor na primeira instrução deve estar aberto.
SQL_CATALOG_LOCATION 2.0 Um valor SQLUSMALLINT que indica a posição do catálogo em um nome de tabela qualificado:

SQL_CL_START
SQL_CL_END
Por exemplo, um driver Xbase retorna SQL_CL_START porque o nome do diretório (catálogo) está no início do nome da tabela, como em \EMPDATA\EMP. DBF. Um driver do ORACLE Server retorna SQL_CL_END porque o catálogo está no final do nome da tabela, como no ADMIN. EMP@EMPDATA.

Um driver compatível com o nível completo do SQL-92 sempre retornará SQL_CL_START. Um valor de 0 será retornado se os catálogos não tiverem suporte da fonte de dados. Para determinar se há suporte para catálogos, um aplicativo chama SQLGetInfo com o tipo de informações SQL_CATALOG_NAME.

Este InfoType foi renomeado para ODBC 3.0 da SQL_QUALIFIER_LOCATION InfoType ODBC 2.0.
SQL_CATALOG_NAME 3.0 Uma cadeia de caracteres: "Y" se o servidor der suporte a nomes de catálogo ou "N", se não o fizer.

Um driver compatível com o nível completo do SQL-92 sempre retornará "Y".
SQL_CATALOG_NAME_SEPARATOR 1.0 Uma cadeia de caracteres: o caractere ou caracteres que a fonte de dados define como o separador entre um nome de catálogo e o elemento de nome qualificado que o segue ou precede.

Uma cadeia de caracteres vazia será retornada se os catálogos não tiverem suporte da fonte de dados. Para determinar se há suporte para catálogos, um aplicativo chama SQLGetInfo com o tipo de informações SQL_CATALOG_NAME. Um driver compatível com o nível completo do SQL-92 sempre retornará ".".

Este InfoType foi renomeado para ODBC 3.0 da SQL_QUALIFIER_NAME_SEPARATOR InfoType ODBC 2.0.
SQL_CATALOG_TERM 1.0 Uma cadeia de caracteres com o nome do fornecedor da fonte de dados para um catálogo; por exemplo, "banco de dados" ou "diretório". Essa cadeia de caracteres pode estar em letras maiúsculas, minúsculas ou mistas.

Uma cadeia de caracteres vazia será retornada se os catálogos não tiverem suporte da fonte de dados. Para determinar se há suporte para catálogos, um aplicativo chama SQLGetInfo com o tipo de informações SQL_CATALOG_NAME. Um driver compatível com o nível completo do SQL-92 sempre retornará "catálogo".

Este InfoType foi renomeado para ODBC 3.0 da SQL_QUALIFIER_TERM InfoType ODBC 2.0.
SQL_CATALOG_USAGE 2.0 Uma máscara de bits SQLUINTEGER enumerando as instruções nas quais os catálogos podem ser usados.

As máscaras de bits a seguir são usadas para determinar onde os catálogos podem ser usados:
SQL_CU_DML_STATEMENTS = Há suporte para catálogos em todas as instruções de Linguagem de Manipulação de Dados: SELECT, INSERT, UPDATE, DELETE e, se houver suporte, SELECT FOR UPDATE e instruções de atualização e exclusão posicionadas.
SQL_CU_PROCEDURE_INVOCATION = Há suporte para catálogos na instrução de invocação de procedimento ODBC.
SQL_CU_TABLE_DEFINITION = Catálogos têm suporte em todas as instruções de definição de tabela: CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE e DROP VIEW.
SQL_CU_INDEX_DEFINITION = Há suporte para catálogos em todas as instruções de definição de índice: CREATE INDEX e DROP INDEX.
SQL_CU_PRIVILEGE_DEFINITION = Há suporte para catálogos em todas as instruções de definição de privilégio: GRANT e REVOKE.

Um valor de 0 será retornado se os catálogos não tiverem suporte da fonte de dados. Para determinar se há suporte para catálogos, um aplicativo chama SQLGetInfo com o tipo de informações SQL_CATALOG_NAME. Um driver compatível com o nível completo do SQL-92 sempre retornará uma máscara de bits com todos esses bits definidos.

Este InfoType foi renomeado para ODBC 3.0 da SQL_QUALIFIER_USAGE InfoType ODBC 2.0.
SQL_COLLATION_SEQ 3.0 O nome da sequência de ordenação. Essa é uma cadeia de caracteres que indica o nome da ordenação padrão para o conjunto de caracteres padrão para este servidor (por exemplo, 'ISO 8859-1' ou EBCDIC). Se isso for desconhecido, uma cadeia de caracteres vazia será retornada. Um driver compatível com o nível completo do SQL-92 sempre retornará uma cadeia de caracteres não vazia.
SQL_COLUMN_ALIAS 2.0 Uma cadeia de caracteres: "Y" se a fonte de dados der suporte a aliases de coluna; caso contrário, "N".

Um alias de coluna é um nome alternativo que pode ser especificado para uma coluna na lista de seleção usando uma cláusula AS. Um driver compatível com o nível de entrada do SQL-92 sempre retornará "Y".
SQL_CONCAT_NULL_BEHAVIOR 1.0 Um valor SQLUSMALLINT que indica como a fonte de dados lida com a concatenação de colunas de tipo de dados de caracteres com valor NULL com colunas de tipo de dados de caracteres com valor não NULL:
SQL_CB_NULL = O resultado é valor NULL.
SQL_CB_NON_NULL = O resultado é a concatenação de colunas ou colunas com valor não NULL.

Um driver compatível com o nível de entrada do SQL-92 sempre retornará SQL_CB_NULL.
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 Uma máscara de bits SQLUINTEGER. A máscara de bits indica as conversões compatíveis com a fonte de dados com a função escalar CONVERT para dados do tipo chamado no InfoType. Se a máscara de bits for igual a zero, a fonte de dados não oferecerá suporte a nenhuma conversão de dados do tipo nomeado, incluindo conversão para o mesmo tipo de dados.

Por exemplo, para determinar se uma fonte de dados dá suporte à conversão de dados SQL_INTEGER para o tipo de dados SQL_BIGINT, um aplicativo chama SQLGetInfo com o InfoType de SQL_CONVERT_INTEGER. O aplicativo executa uma operação AND com a máscara de bits retornada e SQL_CVT_BIGINT. Se o valor resultante for diferente de zero, a conversão terá suporte.

As seguintes máscaras de bits são usadas para determinar quais conversões têm suporte:
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 Um bitmask SQLUINTEGER enumerando as funções de conversão escalar compatíveis com o driver e a fonte de dados associada.

A máscara de bits a seguir é usada para determinar quais funções de conversão têm suporte:
SQL_FN_CVT_CASTSQL_FN_CVT_CONVERT
SQL_CORRELATION_NAME 1.0 Um valor SQLUSMALLINT que indica se há suporte para nomes de correlação de tabela:
SQL_CN_NONE = Não há suporte para nomes de correlação.
SQL_CN_DIFFERENT = Há suporte para nomes de correlação, mas devem ser diferentes dos nomes das tabelas que representam.
SQL_CN_ANY = Nomes de correlação têm suporte e podem ser qualquer nome definido pelo usuário válido.

Um driver compatível com o nível de entrada do SQL-92 sempre retornará SQL_CN_ANY.
SQL_CREATE_ASSERTION 3.0 Um bitmask SQLUINTEGER enumerando as cláusulas na instrução CREATE ASSERTION , conforme definido em SQL-92, compatível com a fonte de dados.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte:
SQL_CA_CREATE_ASSERTION

Os bits a seguir especificam o atributo de restrição com suporte se houver suporte para a capacidade de especificar atributos de restrição explicitamente (consulte os tipos de informações SQL_ALTER_TABLE e SQL_CREATE_TABLE):
SQL_CA_CONSTRAINT_INITIALLY_DEFERRED
SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE
SQL_CA_CONSTRAINT_DEFERRABLE
SQL_CA_CONSTRAINT_NON_DEFERRABLE

Um driver compatível com o nível completo do SQL-92 sempre retornará todas essas opções conforme o suporte. Um valor retornado de "0" significa que não há suporte para a instrução CREATE ASSERTION .
SQL_CREATE_CHARACTER_SET 3.0 Um bitmask SQLUINTEGER enumerando as cláusulas na instrução CREATE CHARACTER SET , conforme definido em SQL-92, compatível com a fonte de dados.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte:
SQL_CCS_CREATE_CHARACTER_SET
SQL_CCS_COLLATE_CLAUSE
SQL_CCS_LIMITED_COLLATION

Um driver compatível com o nível completo do SQL-92 sempre retornará todas essas opções conforme o suporte. Um valor retornado de "0" significa que não há suporte para a instrução CREATE CHARACTER SET .
SQL_CREATE_COLLATION 3.0 Um bitmask SQLUINTEGER enumerando as cláusulas na instrução CREATE COLLATION , conforme definido em SQL-92, compatível com a fonte de dados.

A máscara de bits a seguir é usada para determinar quais cláusulas têm suporte:
SQL_CCOL_CREATE_COLLATION

Um driver compatível com o nível completo do SQL-92 sempre retornará essa opção conforme o suporte. Um valor retornado de "0" significa que não há suporte para a instrução CREATE COLLATION .
SQL_CREATE_DOMAIN 3.0 Um bitmask SQLUINTEGER enumerando as cláusulas na instrução CREATE DOMAIN , conforme definido em SQL-92, com suporte da fonte de dados.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte:
SQL_CDO_CREATE_DOMAIN = Há suporte para a instrução CREATE DOMAIN (nível intermediário).
SQL_CDO_CONSTRAINT_NAME_DEFINITION = <há suporte para definição de nome de restrição> para nomenclatura de restrições de domínio (nível intermediário).

Os bits a seguir especificam a capacidade de criar restrições de coluna:
SQL_CDO_DEFAULT = Há suporte para especificar restrições de domínio (nível intermediário)
SQL_CDO_CONSTRAINT = Há suporte para especificar padrões de domínio (nível intermediário)
SQL_CDO_COLLATION = Há suporte para especificar ordenação de domínio (nível completo)

Os bits a seguir especificam os atributos de restrição com suporte se houver suporte para especificar restrições de domínio (SQL_CDO_DEFAULT está definido):
SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED (Nível completo)
SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE (nível completo)
SQL_CDO_CONSTRAINT_DEFERRABLE (Nível completo)
SQL_CDO_CONSTRAINT_NON_DEFERRABLE (Nível completo)

Um valor retornado de "0" significa que não há suporte para a instrução CREATE DOMAIN .
SQL_CREATE_SCHEMA 3.0 Um bitmask SQLUINTEGER enumerando as cláusulas na instrução CREATE SCHEMA , conforme definido em SQL-92, compatível com a fonte de dados.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte:
SQL_CS_CREATE_SCHEMA
SQL_CS_AUTHORIZATION
SQL_CS_DEFAULT_CHARACTER_SET

Um driver compatível com o nível intermediário do SQL-92 sempre retornará as opções de SQL_CS_CREATE_SCHEMA e SQL_CS_AUTHORIZATION conforme o suporte. Eles também devem ter suporte no nível de entrada do SQL-92, mas não necessariamente como instruções SQL. Um driver compatível com o nível completo do SQL-92 sempre retornará todas essas opções conforme o suporte.
SQL_CREATE_TABLE 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução CREATE TABLE , conforme definido em SQL-92, compatível com a fonte de dados.

O nível de conformidade sql-92 ou FIPS no qual esse recurso deve ter suporte é mostrado entre parênteses ao lado de cada máscara de bits.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte:
SQL_CT_CREATE_TABLE = Há suporte para a instrução CREATE TABLE. (Nível de entrada)
SQL_CT_TABLE_CONSTRAINT = Há suporte para a especificação de restrições de tabela (nível de transição fips)
SQL_CT_CONSTRAINT_NAME_DEFINITION = A <cláusula de definição de nome de restrição> tem suporte para nomenclatura de restrições de coluna e tabela (nível intermediário)

Os bits a seguir especificam a capacidade de criar tabelas temporárias:
SQL_CT_COMMIT_PRESERVE = As linhas excluídas são preservadas na confirmação. (Nível completo)
SQL_CT_COMMIT_DELETE = As linhas excluídas são excluídas na confirmação. (Nível completo)
SQL_CT_GLOBAL_TEMPORARY = Tabelas temporárias globais podem ser criadas. (Nível completo)
SQL_CT_LOCAL_TEMPORARY = Tabelas temporárias locais podem ser criadas. (Nível completo)

Os bits a seguir especificam a capacidade de criar restrições de coluna:
SQL_CT_COLUMN_CONSTRAINT = Há suporte para a especificação de restrições de coluna (nível de transição fips)
SQL_CT_COLUMN_DEFAULT = Há suporte para a especificação de padrões de coluna (nível de transição fips)
SQL_CT_COLUMN_COLLATION = Há suporte para especificar ordenação de coluna (nível completo)

Os bits a seguir especificam os atributos de restrição com suporte se houver suporte para especificar restrições de coluna ou tabela:
SQL_CT_CONSTRAINT_INITIALLY_DEFERRED (nível completo)
SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE (nível completo)
SQL_CT_CONSTRAINT_DEFERRABLE (nível completo)
SQL_CT_CONSTRAINT_NON_DEFERRABLE (nível completo)
SQL_CREATE_TRANSLATION 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução CREATE TRANSLATION , conforme definido no SQL-92, compatível com a fonte de dados.

A máscara de bits a seguir é usada para determinar quais cláusulas têm suporte:
SQL_CTR_CREATE_TRANSLATION

Um driver compatível com o nível completo do SQL-92 sempre retornará essas opções conforme o suporte. Um valor retornado de "0" significa que não há suporte para a instrução CREATE TRANSLATION .
SQL_CREATE_VIEW 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução CREATE VIEW , conforme definido no SQL-92, compatível com a fonte de dados.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte:
SQL_CV_CREATE_VIEW
SQL_CV_CHECK_OPTION
SQL_CV_CASCADED
SQL_CV_LOCAL

Um valor retornado de "0" significa que não há suporte para a instrução CREATE VIEW .

Um driver compatível com o nível de entrada do SQL-92 sempre retornará as opções de SQL_CV_CREATE_VIEW e SQL_CV_CHECK_OPTION conforme o suporte.

Um driver compatível com o nível completo do SQL-92 sempre retornará todas essas opções conforme o suporte.
SQL_CURSOR_COMMIT_BEHAVIOR 1.0 Um valor SQLUSMALLINT que indica como uma operação COMMIT afeta cursores e instruções preparadas na fonte de dados (o comportamento da fonte de dados ao confirmar uma transação).

O valor desse atributo refletirá o estado atual da próxima configuração: SQL_COPT_SS_PRESERVE_CURSORS.
SQL_CB_DELETE = Fechar cursores e excluir instruções preparadas. Para usar o cursor novamente, o aplicativo deve repreparar e executar novamente a instrução .
SQL_CB_CLOSE = Fechar cursores. Para instruções preparadas, o aplicativo pode chamar SQLExecute na instrução sem chamar SQLPrepare novamente. O padrão para o driver ODBC do SQL é SQL_CB_CLOSE. Isso significa que o driver ODBC do SQL fechará os cursores quando você confirmar uma transação.
SQL_CB_PRESERVE = Preservar cursores na mesma posição que antes da operação COMMIT . O aplicativo pode continuar buscando dados ou pode fechar o cursor e executar novamente a instrução sem reprepará-la.
SQL_CURSOR_ROLLBACK_BEHAVIOR 1.0 Um valor SQLUSMALLINT que indica como uma operação ROLLBACK afeta cursores e instruções preparadas na fonte de dados:
SQL_CB_DELETE = Fechar cursores e excluir instruções preparadas. Para usar o cursor novamente, o aplicativo deve repreparar e executar novamente a instrução .
SQL_CB_CLOSE = Fechar cursores. Para instruções preparadas, o aplicativo pode chamar SQLExecute na instrução sem chamar SQLPrepare novamente.
SQL_CB_PRESERVE = Preservar cursores na mesma posição que antes da operação ROLLBACK . O aplicativo pode continuar buscando dados ou pode fechar o cursor e executar novamente a instrução sem reprepará-la.
SQL_CURSOR_SENSITIVITY 3.0 Um valor SQLUINTEGER que indica o suporte à sensibilidade do cursor:
SQL_INSENSITIVE = Todos os cursores no identificador de instrução mostram o conjunto de resultados sem refletir as alterações feitas a ele por qualquer outro cursor dentro da mesma transação.
SQL_UNSPECIFIED = Não é especificado se os cursores no identificador de instrução tornam visíveis as alterações feitas em um conjunto de resultados por outro cursor dentro da mesma transação. Os cursores no identificador de instrução podem tornar visíveis nenhuma, algumas ou todas essas alterações.
SQL_SENSITIVE = Os cursores são sensíveis a alterações feitas por outros cursores na mesma transação.

Um driver compatível com o nível de entrada do SQL-92 sempre retornará a opção SQL_UNSPECIFIED conforme o suporte.

Um driver compatível com o nível completo do SQL-92 sempre retornará a opção SQL_INSENSITIVE conforme o suporte.
SQL_DATA_SOURCE_NAME 1.0 Uma cadeia de caracteres com o nome da fonte de dados que foi usado durante a conexão. Se o aplicativo chamado SQLConnect, esse será o valor do argumento szDSN . Se o aplicativo chamado SQLDriverConnect ou SQLBrowseConnect, esse será o valor da palavra-chave DSN na cadeia de conexão passada para o driver. Se a cadeia de conexão não contiver a palavra-chave DSN (como quando ela contém a palavra-chave DRIVER ), essa será uma cadeia de caracteres vazia.
SQL_DATA_SOURCE_READ_ONLY 1.0 Uma cadeia de caracteres. "Y" se a fonte de dados estiver definida como modo SOMENTE LEITURA, "N" se for o contrário.

Essa característica pertence apenas à própria fonte de dados; não é uma característica do driver que permite o acesso à fonte de dados. Um driver que é de leitura/gravação pode ser usado com uma fonte de dados que é somente leitura. Se um driver for somente leitura, todas as suas fontes de dados deverão ser somente leitura e devem retornar SQL_DATA_SOURCE_READ_ONLY.
SQL_DATABASE_NAME 1.0 Uma cadeia de caracteres com o nome do banco de dados atual em uso, se a fonte de dados definir um objeto nomeado chamado "database".

No ODBC 3.x, o valor retornado para esse InfoType também pode ser retornado chamando SQLGetConnectAttr com um argumento Attribute de SQL_ATTR_CURRENT_CATALOG.
SQL_DATETIME_LITERALS 3.0 Uma máscara de bits SQLUINTEGER enumerando os literais de datetime do SQL-92 com suporte da fonte de dados. Observe que esses são os literais datetime listados na especificação SQL-92 e são separados das cláusulas de escape literal datetime definidas pelo ODBC. Para obter mais informações sobre as cláusulas de escape literal datetime do ODBC, consulte Literais de data, hora e carimbo de data/hora.

Um driver compatível com o nível de transição fips sempre retornará o valor "1" na máscara de bits para os bits na lista a seguir. Um valor de "0" significa que não há suporte para literais datetime do SQL-92.

As máscaras de bits a seguir são usadas para determinar quais literais têm suporte:
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 Uma cadeia de caracteres com o nome do produto DBMS acessado pelo driver.
SQL_DBMS_VER 1.0 Uma cadeia de caracteres que indica a versão do produto DBMS acessado pelo driver. A versão é do formato ##.##.#####, em que os dois primeiros dígitos são a versão principal, os dois dígitos seguintes são a versão secundária e os quatro últimos dígitos são a versão de lançamento. O driver deve renderizar a versão do produto DBMS nesse formulário, mas também pode acrescentar a versão específica do produto DBMS. Por exemplo, "04.01.0000 Rdb 4.1".
SQL_DDL_INDEX 3.0 Um valor SQLUINTEGER que indica suporte para criação e remoção de índices:
SQL_DI_CREATE_INDEX
SQL_DI_DROP_INDEX
SQL_DEFAULT_TXN_ISOLATION 1.0 Um valor SQLUINTEGER que indica o nível de isolamento de transação padrão com suporte pelo driver ou fonte de dados ou zero se a fonte de dados não der suporte a transações. Os seguintes termos são usados para definir níveis de isolamento de transação:
Leitura Suja A transação 1 altera uma linha. A Transação 2 lê a linha alterada antes que a transação 1 confirme a alteração. Se a transação 1 reverter a alteração, a transação 2 terá lido uma linha considerada que nunca existiu.
Leitura não repetível Transação 1 lê uma linha. A Transação 2 atualiza ou exclui essa linha e confirma essa alteração. Se a transação 1 tentar relê-la, ela receberá valores de linha diferentes ou descobrirá que a linha foi excluída.
Fantasma A Transação 1 lê um conjunto de linhas que atendem a alguns critérios de pesquisa. A Transação 2 gera uma ou mais linhas (por meio de inserções ou atualizações) que correspondem aos critérios de pesquisa. Se a transação 1 executar novamente a instrução que lê as linhas, ela receberá um conjunto diferente de linhas.

Se a fonte de dados der suporte a transações, o driver retornará uma das seguintes máscaras de bits:
SQL_TXN_READ_UNCOMMITTED = Leituras sujas, leituras não repetíveis e fantasmas são possíveis.
SQL_TXN_READ_COMMITTED = Leituras sujas não são possíveis. Leituras e fantasmas não repetíveis são possíveis.
SQL_TXN_REPEATABLE_READ = Leituras sujas e leituras não repetíveis não são possíveis. Fantasmas são possíveis.
SQL_TXN_SERIALIZABLE = As transações são serializáveis. Transações serializáveis não permitem leituras sujas, leituras não repetíveis ou fantasmas.
SQL_DESCRIBE_PARAMETER 3.0 Uma cadeia de caracteres: "Y" se os parâmetros puderem ser descritos; "N", se não.

Um driver compatível com o nível completo do SQL-92 geralmente retornará "Y" porque dará suporte à instrução DESCRIBE INPUT . Como isso não especifica diretamente o suporte a SQL subjacente, no entanto, não há suporte para descrever parâmetros, mesmo em um driver compatível com o nível completo do SQL-92.
SQL_DM_VER 3.0 Uma cadeia de caracteres com a versão do Gerenciador de Driver. A versão é do formulário ##.##.####.######, em que:
O primeiro conjunto de dois dígitos é a versão principal do ODBC, conforme dado pela constante SQL_SPEC_MAJOR.
O segundo conjunto de dois dígitos é a versão secundária do ODBC, conforme dado pela constante SQL_SPEC_MINOR.
O terceiro conjunto de quatro dígitos é o número de build principal do Gerenciador de Driver.
O último conjunto de quatro dígitos é o número de build secundário do Gerenciador de Driver.
A versão do Gerenciador de Driver do Windows 7 é 03.80. A versão do Gerenciador de Driver do Windows 8 é 03.81.
SQL_DRIVER_AWARE_POOLING_SUPPORTED 3.8 Um valor SQLUINTEGER que indica se o driver dá suporte ao pooling com reconhecimento de driver. (Para obter mais informações, consulte Pooling de conexões com reconhecimento de driver.

SQL_DRIVER_AWARE_POOLING_CAPABLE indica que o driver pode dar suporte ao mecanismo de pooling com reconhecimento de driver.
SQL_DRIVER_AWARE_POOLING_NOT_CAPABLE indica que o driver não pode dar suporte ao mecanismo de pooling com reconhecimento de driver.

Um driver não precisa implementar SQL_DRIVER_AWARE_POOLING_SUPPORTED e o Gerenciador de Driver não respeitará o valor retornado do driver.
SQL_DRIVER_HDBCSQL_DRIVER_HENV 1.0 Um valor SQLULEN, o identificador de ambiente ou o identificador de conexão do driver, determinado pelo argumento InfoType.

Esses tipos de informações são implementados apenas pelo Gerenciador de Driver.
SQL_DRIVER_HDESC 3.0 Um valor SQLULEN, o identificador do descritor do driver determinado pelo identificador do descritor do Gerenciador de Driver, que deve ser passado na entrada em *InfoValuePtr do aplicativo. Nesse caso, InfoValuePtr é um argumento de entrada e saída. O identificador do descritor de entrada passado em *InfoValuePtr deve ter sido alocado explicitamente ou implicitamente no ConnectionHandle.

O aplicativo deve fazer uma cópia do identificador do descritor do Gerenciador de Driver antes de chamar SQLGetInfo com esse tipo de informação, para garantir que o identificador não seja substituído na saída.

Esse tipo de informação é implementado apenas pelo Gerenciador de Driver.
SQL_DRIVER_HLIB 2.0 Um valor SQLULEN, o hinst da biblioteca de carga retornado ao Gerenciador de Driver quando ele carregou a DLL do driver em um sistema operacional Microsoft Windows ou seu equivalente em outro sistema operacional. O identificador é válido apenas para o identificador de conexão especificado na chamada para SQLGetInfo.

Esse tipo de informação é implementado apenas pelo Gerenciador de Driver.
SQL_DRIVER_HSTMT 1.0 Um valor SQLULEN, o identificador de instrução do driver determinado pelo identificador de instrução gerenciador de driver, que deve ser passado na entrada em *InfoValuePtr do aplicativo. Nesse caso, InfoValuePtr é uma entrada e um argumento de saída. O identificador de instrução de entrada passado em *InfoValuePtr deve ter sido alocado no argumento ConnectionHandle.

O aplicativo deve fazer uma cópia do identificador de instrução do Gerenciador de Driver antes de chamar SQLGetInfo com esse tipo de informação, para garantir que o identificador não seja substituído na saída.

Esse tipo de informação é implementado apenas pelo Gerenciador de Driver.
SQL_DRIVER_NAME 1.0 Uma cadeia de caracteres com o nome do arquivo do driver usado para acessar a fonte de dados.
SQL_DRIVER_ODBC_VER 2.0 Uma cadeia de caracteres com a versão do ODBC compatível com o driver. A versão é do formato ##.##, em que os dois primeiros dígitos são a versão principal e os dois dígitos seguintes são a versão secundária. SQL_SPEC_MAJOR e SQL_SPEC_MINOR definem os números de versão principal e secundária. Para a versão do ODBC descrita neste manual, elas são 3 e 0 e o driver deve retornar "03.00".

O Gerenciador de Driver ODBC não modificará o valor retornado de SQLGetInfo(SQL_DRIVER_ODBC_VER) para manter a compatibilidade com versões anteriores para aplicativos existentes. O driver especifica qual valor será retornado. No entanto, um driver que dá suporte à extensibilidade de tipo de dados C deve retornar 3.8 (ou superior) quando um aplicativo chama SQLSetEnvAttr para definir SQL_ATTR_ODBC_VERSION como 3.8. Para obter mais informações, consulte Tipos de dados C em ODBC.
SQL_DRIVER_VER 1.0 Uma cadeia de caracteres com a versão do driver e, opcionalmente, uma descrição do driver. No mínimo, a versão é do formato ##.##.#####, em que os dois primeiros dígitos são a versão principal, os dois dígitos seguintes são a versão secundária e os quatro últimos dígitos são a versão de lançamento.
SQL_DROP_ASSERTION 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução DROP ASSERTION , conforme definido no SQL-92, compatível com a fonte de dados.

A máscara de bits a seguir é usada para determinar quais cláusulas têm suporte:
SQL_DA_DROP_ASSERTION

Um driver compatível com o nível completo do SQL-92 sempre retornará essa opção conforme o suporte.
SQL_DROP_CHARACTER_SET 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução DROP CHARACTER SET , conforme definido no SQL-92, compatível com a fonte de dados.

A máscara de bits a seguir é usada para determinar quais cláusulas têm suporte:
SQL_DCS_DROP_CHARACTER_SET

Um driver compatível com o nível completo do SQL-92 sempre retornará essa opção conforme o suporte.
SQL_DROP_COLLATION 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução DROP COLLATION , conforme definido no SQL-92, compatível com a fonte de dados.

A máscara de bits a seguir é usada para determinar quais cláusulas têm suporte:
SQL_DC_DROP_COLLATION

Um driver compatível com o nível completo do SQL-92 sempre retornará essa opção conforme o suporte.
SQL_DROP_DOMAIN 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução DROP DOMAIN , conforme definido no SQL-92, compatível com a fonte de dados.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte:
SQL_DD_DROP_DOMAIN
SQL_DD_CASCADE
SQL_DD_RESTRICT

Um driver compatível com o nível intermediário do SQL-92 sempre retornará todas essas opções conforme o suporte.
SQL_DROP_SCHEMA 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução DROP SCHEMA , conforme definido no SQL-92, compatível com a fonte de dados.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte:
SQL_DS_DROP_SCHEMA
SQL_DS_CASCADE
SQL_DS_RESTRICT

Um driver compatível com o nível intermediário do SQL-92 sempre retornará todas essas opções conforme o suporte.
SQL_DROP_TABLE 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução DROP TABLE , conforme definido no SQL-92, compatível com a fonte de dados.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte:
SQL_DT_DROP_TABLE
SQL_DT_CASCADE
SQL_DT_RESTRICT

Um driver compatível com o nível de transição do FIPS sempre retornará todas essas opções conforme o suporte.
SQL_DROP_TRANSLATION 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução DROP TRANSLATION , conforme definido no SQL-92, compatível com a fonte de dados.

A máscara de bits a seguir é usada para determinar quais cláusulas têm suporte:
SQL_DTR_DROP_TRANSLATION

Um driver compatível com o nível completo do SQL-92 sempre retornará essa opção conforme o suporte.
SQL_DROP_VIEW 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas na instrução DROP VIEW , conforme definido no SQL-92, compatível com a fonte de dados.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte:
SQL_DV_DROP_VIEW
SQL_DV_CASCADE
SQL_DV_RESTRICT

Um driver compatível com o nível de transição do FIPS sempre retornará todas essas opções conforme o suporte.
SQL_DYNAMIC_CURSOR_ATTRIBUTES1 3.0 Uma máscara de bits SQLUINTEGER que descreve os atributos de um cursor dinâmico com suporte do driver. Essa máscara de bits contém o primeiro subconjunto de atributos; para o segundo subconjunto, consulte SQL_DYNAMIC_CURSOR_ATTRIBUTES2.

As máscaras de bits a seguir são usadas para determinar quais atributos têm suporte:
SQL_CA1_NEXT = Um argumento FetchOrientation de SQL_FETCH_NEXT tem suporte em uma chamada para SQLFetchScroll quando o cursor é um cursor dinâmico.
SQL_CA1_ABSOLUTE = Argumentos FetchOrientation de SQL_FETCH_FIRST, SQL_FETCH_LAST e SQL_FETCH_ABSOLUTE têm suporte em uma chamada para SQLFetchScroll quando o cursor é um cursor dinâmico. (O conjunto de linhas que será buscado é independente da posição atual do cursor.)
SQL_CA1_RELATIVE = Argumentos FetchOrientation de SQL_FETCH_PRIOR e SQL_FETCH_RELATIVE têm suporte em uma chamada para SQLFetchScroll quando o cursor é um cursor dinâmico. (O conjunto de linhas que será buscado depende da posição atual do cursor. Observe que isso é separado de SQL_FETCH_NEXT porque, em um cursor somente de avanço, há suporte apenas para SQL_FETCH_NEXT.)
SQL_CA1_BOOKMARK = Um argumento FetchOrientation de SQL_FETCH_BOOKMARK tem suporte em uma chamada para SQLFetchScroll quando o cursor é um cursor dinâmico.
SQL_CA1_LOCK_EXCLUSIVE = Um argumento LockType de SQL_LOCK_EXCLUSIVE tem suporte em uma chamada para SQLSetPos quando o cursor é um cursor dinâmico.
SQL_CA1_LOCK_NO_CHANGE = Há suporte para um argumento LockType de SQL_LOCK_NO_CHANGE em uma chamada para SQLSetPos quando o cursor é um cursor dinâmico.
SQL_CA1_LOCK_UNLOCK = Um argumento LockType de SQL_LOCK_UNLOCK tem suporte em uma chamada para SQLSetPos quando o cursor é um cursor dinâmico.
SQL_CA1_POS_POSITION = Há suporte para um argumento Operation de SQL_POSITION em uma chamada para SQLSetPos quando o cursor é um cursor dinâmico.
SQL_CA1_POS_UPDATE = Um argumento Operation de SQL_UPDATE tem suporte em uma chamada para SQLSetPos quando o cursor é um cursor dinâmico.
SQL_CA1_POS_DELETE = Um argumento Operation de SQL_DELETE tem suporte em uma chamada para SQLSetPos quando o cursor é um cursor dinâmico.
SQL_CA1_POS_REFRESH = Há suporte para um argumento Operation de SQL_REFRESH em uma chamada para SQLSetPos quando o cursor é um cursor dinâmico.
SQL_CA1_POSITIONED_UPDATE = uma atualização em que a instrução CURRENT OF SQL tem suporte quando o cursor é um cursor dinâmico. (Um driver compatível com o nível de entrada do SQL-92 sempre retornará essa opção conforme o suporte.)
SQL_CA1_POSITIONED_DELETE = Uma instrução DELETE WHERE CURRENT OF SQL tem suporte quando o cursor é um cursor dinâmico. (Um driver compatível com o nível de entrada do SQL-92 sempre retornará essa opção conforme o suporte.)
SQL_CA1_SELECT_FOR_UPDATE = uma instrução SELECT FOR UPDATE SQL tem suporte quando o cursor é um cursor dinâmico. (Um driver compatível com o nível de entrada do SQL-92 sempre retornará essa opção conforme o suporte.)
SQL_CA1_BULK_ADD = Há suporte para um argumento Operation de SQL_ADD em uma chamada para SQLBulkOperations quando o cursor é um cursor dinâmico.
SQL_CA1_BULK_UPDATE_BY_BOOKMARK = Há suporte para um argumento Operation de SQL_UPDATE_BY_BOOKMARK em uma chamada para SQLBulkOperations quando o cursor é um cursor dinâmico.
SQL_CA1_BULK_DELETE_BY_BOOKMARK = Um argumento Operation de SQL_DELETE_BY_BOOKMARK tem suporte em uma chamada para SQLBulkOperations quando o cursor é um cursor dinâmico.
SQL_CA1_BULK_FETCH_BY_BOOKMARK = Um argumento Operation de SQL_FETCH_BY_BOOKMARK tem suporte em uma chamada para SQLBulkOperations quando o cursor é um cursor dinâmico.

Um driver compatível com o nível intermediário do SQL-92 geralmente retornará as opções de SQL_CA1_NEXT, SQL_CA1_ABSOLUTE e SQL_CA1_RELATIVE conforme o suporte, pois dá suporte a cursores roláveis por meio da instrução SQL FETCH inserida. Como isso não determina diretamente o suporte a SQL subjacente, no entanto, os cursores roláveis podem não ter suporte, mesmo para um driver de nível intermediário sql-92.
SQL_DYNAMIC_CURSOR_ATTRIBUTES2 3.0 Uma máscara de bits SQLUINTEGER que descreve os atributos de um cursor dinâmico com suporte do driver. Essa máscara de bits contém o segundo subconjunto de atributos; para o primeiro subconjunto, consulte SQL_DYNAMIC_CURSOR_ATTRIBUTES1.

As máscaras de bits a seguir são usadas para determinar quais atributos têm suporte:
SQL_CA2_READ_ONLY_CONCURRENCY = Há suporte para um cursor dinâmico somente leitura, no qual nenhuma atualização é permitida. (O atributo de instrução SQL_ATTR_CONCURRENCY pode ser SQL_CONCUR_READ_ONLY para um cursor dinâmico).
SQL_CA2_LOCK_CONCURRENCY = Um cursor dinâmico que usa o nível mais baixo de bloqueio suficiente para garantir que a linha possa ser atualizada é compatível. (O atributo de instrução SQL_ATTR_CONCURRENCY pode ser SQL_CONCUR_LOCK para um cursor dinâmico.) Esses bloqueios devem ser consistentes com o nível de isolamento da transação definido pelo atributo de conexão SQL_ATTR_TXN_ISOLATION.
SQL_CA2_OPT_ROWVER_CONCURRENCY = Há suporte para um cursor dinâmico que usa o controle de simultaneidade otimista comparando versões de linha. (O atributo de instrução SQL_ATTR_CONCURRENCY pode ser SQL_CONCUR_ROWVER para um cursor dinâmico.)
SQL_CA2_OPT_VALUES_CONCURRENCY = Há suporte para um cursor dinâmico que usa o controle de simultaneidade otimista comparando valores. (O atributo de instrução SQL_ATTR_CONCURRENCY pode ser SQL_CONCUR_VALUES para um cursor dinâmico.)
SQL_CA2_SENSITIVITY_ADDITIONS = As linhas adicionadas são visíveis para um cursor dinâmico; o cursor pode rolar até essas linhas. (Onde essas linhas são adicionadas ao cursor depende do driver.)
SQL_CA2_SENSITIVITY_DELETIONS = As linhas excluídas não estão mais disponíveis para um cursor dinâmico e não deixam um "buraco" no conjunto de resultados; depois que o cursor dinâmico rolar de uma linha excluída, ele não poderá retornar a essa linha.
SQL_CA2_SENSITIVITY_UPDATES = Atualizações para linhas ficam visíveis para um cursor dinâmico; se o cursor dinâmico rolar de e retornar para uma linha atualizada, os dados retornados pelo cursor serão os dados atualizados, não os dados originais.
SQL_CA2_MAX_ROWS_SELECT = O atributo de instrução SQL_ATTR_MAX_ROWS afeta instruções SELECT quando o cursor é um cursor dinâmico.
SQL_CA2_MAX_ROWS_INSERT = O atributo de instrução SQL_ATTR_MAX_ROWS afeta as instruções INSERT quando o cursor é um cursor dinâmico.
SQL_CA2_MAX_ROWS_DELETE = O atributo de instrução SQL_ATTR_MAX_ROWS afeta instruções DELETE quando o cursor é um cursor dinâmico.
SQL_CA2_MAX_ROWS_UPDATE = O atributo de instrução SQL_ATTR_MAX_ROWS afeta as instruções UPDATE quando o cursor é um cursor dinâmico.
SQL_CA2_MAX_ROWS_CATALOG = O atributo de instrução SQL_ATTR_MAX_ROWS afeta conjuntos de resultados CATALOG quando o cursor é um cursor dinâmico.
SQL_CA2_MAX_ROWS_AFFECTS_ALL = O atributo de instrução SQL_ATTR_MAX_ROWS afeta as instruções SELECT, INSERT, DELETE e UPDATE e conjuntos de resultados CATALOG , quando o cursor é um cursor dinâmico.
SQL_CA2_CRC_EXACT = A contagem exata de linhas está disponível no campo de diagnóstico SQL_DIAG_CURSOR_ROW_COUNT quando o cursor é um cursor dinâmico.
SQL_CA2_CRC_APPROXIMATE = Uma contagem aproximada de linhas está disponível no campo de diagnóstico SQL_DIAG_CURSOR_ROW_COUNT quando o cursor é um cursor dinâmico.
SQL_CA2_SIMULATE_NON_UNIQUE = O driver não garante que instruções de atualização ou exclusão posicionadas simuladas afetarão apenas uma linha quando o cursor for um cursor dinâmico; é responsabilidade do aplicativo garantir isso. (Se uma instrução afetar mais de uma linha, SQLExecute ou SQLExecDirect retornará SQLSTATE 01001 [Conflito de operação do cursor].) Para definir esse comportamento, o aplicativo chama SQLSetStmtAttr com o atributo SQL_ATTR_SIMULATE_CURSOR definido como SQL_SC_NON_UNIQUE.
SQL_CA2_SIMULATE_TRY_UNIQUE = O driver tenta garantir que instruções de atualização ou exclusão posicionadas simuladas afetarão apenas uma linha quando o cursor for um cursor dinâmico. O driver sempre executa essas instruções, mesmo que elas possam afetar mais de uma linha, como quando não há chave exclusiva. (Se uma instrução afetar mais de uma linha, SQLExecute ou SQLExecDirect retornará SQLSTATE 01001 [Conflito de operação do cursor].) Para definir esse comportamento, o aplicativo chama SQLSetStmtAttr com o atributo SQL_ATTR_SIMULATE_CURSOR definido como SQL_SC_TRY_UNIQUE.
SQL_CA2_SIMULATE_UNIQUE = O driver garante que instruções de atualização ou exclusão posicionadas simuladas afetarão apenas uma linha quando o cursor for um cursor dinâmico. Se o driver não puder garantir isso para uma determinada instrução, SQLExecDirect ou SQLPrepare retornarão SQLSTATE 01001 (conflito de operação do cursor). Para definir esse comportamento, o aplicativo chama SQLSetStmtAttr com o atributo SQL_ATTR_SIMULATE_CURSOR definido como SQL_SC_UNIQUE.
SQL_EXPRESSIONS_IN_ORDERBY 1.0 Uma cadeia de caracteres: "Y" se a fonte de dados der suporte a expressões na lista ORDER BY ; "N" se não o fizer.
SQL_FILE_USAGE 2.0 Um valor SQLUSMALLINT que indica como um driver de camada única trata diretamente arquivos em uma fonte de dados:
SQL_FILE_NOT_SUPPORTED = O driver não é um driver de camada única. Por exemplo, um driver ORACLE é um driver de duas camadas.
SQL_FILE_TABLE = Um driver de camada única trata arquivos em uma fonte de dados como tabelas. Por exemplo, um driver Xbase trata cada arquivo Xbase como uma tabela.
SQL_FILE_CATALOG = Um driver de camada única trata arquivos em uma fonte de dados como um catálogo. Por exemplo, um driver do Microsoft Access trata cada arquivo do Microsoft Access como um banco de dados completo.

Um aplicativo pode usar isso para determinar como os usuários selecionarão os dados. Por exemplo, os usuários do Xbase geralmente pensam nos dados como armazenados em arquivos, enquanto os usuários do ORACLE e do Microsoft Access geralmente pensam nos dados como armazenados em tabelas.

Quando um usuário seleciona uma fonte de dados Xbase, o aplicativo pode exibir a caixa de diálogo comum Abrir Arquivo do Windows; quando o usuário seleciona uma fonte de dados do Microsoft Access ou ORACLE, o aplicativo pode exibir uma caixa de diálogo Personalizada Selecionar Tabela .
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 3.0 Uma máscara de bits SQLUINTEGER que descreve os atributos de um cursor somente de avanço com suporte do driver. Essa máscara de bits contém o primeiro subconjunto de atributos; para o segundo subconjunto, consulte SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2.

As máscaras de bits a seguir são usadas para determinar quais atributos têm suporte:
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

Para obter descrições dessas máscaras de bits, consulte SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (e substitua "cursor somente encaminhamento" por "cursor dinâmico" nas descrições).
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 3.0 Uma máscara de bits SQLUINTEGER que descreve os atributos de um cursor somente de avanço com suporte do driver. Essa máscara de bits contém o segundo subconjunto de atributos; para o primeiro subconjunto, consulte SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1.

As máscaras de bits a seguir são usadas para determinar quais atributos têm suporte:
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

Para obter descrições dessas máscaras de bits, consulte SQL_DYNAMIC_CURSOR_ATTRIBUTES2 (e substitua "cursor somente encaminhamento" por "cursor dinâmico" nas descrições).
SQL_GETDATA_EXTENSIONS 2.0 Uma máscara de bits SQLUINTEGER enumerando extensões para SQLGetData.

As bitmasks a seguir são usadas junto com o sinalizador para determinar quais extensões comuns o driver dá suporte para SQLGetData:
SQL_GD_ANY_COLUMN = SQLGetData pode ser chamado para qualquer coluna não associada, incluindo aquelas antes da última coluna associada. Observe que as colunas devem ser chamadas em ordem de número de coluna crescente, a menos que SQL_GD_ANY_ORDER também seja retornado.
SQL_GD_ANY_ORDER = SQLGetData pode ser chamado para colunas não associadas em qualquer ordem. Observe que SQLGetData só pode ser chamado para colunas após a última coluna associada, a menos que SQL_GD_ANY_COLUMN também seja retornado.
SQL_GD_BLOCK = SQLGetData pode ser chamado para uma coluna não associada em qualquer linha em um bloco (em que o tamanho do conjunto de linhas é maior que 1) de dados após o posicionamento para essa linha com SQLSetPos.
SQL_GD_BOUND = SQLGetData pode ser chamado para colunas associadas, além de colunas não associadas. Um driver não pode retornar esse valor, a menos que ele também retorne SQL_GD_ANY_COLUMN.
SQL_GD_OUTPUT_PARAMS = SQLGetData pode ser chamado para retornar valores de parâmetro de saída. Para obter mais informações, consulte Recuperando parâmetros de saída usando SQLGetData.

SQLGetData é necessário para retornar dados somente de colunas não associadas que ocorrem após a última coluna associada, são chamados em ordem de aumento do número de coluna e não estão em uma linha em um bloco de linhas.

Se um driver der suporte a indicadores (de comprimento fixo ou de comprimento variável), ele deverá dar suporte à chamada de SQLGetData na coluna 0. Esse suporte é necessário independentemente do que o driver retorna para uma chamada para SQLGetInfo com o SQL_GETDATA_EXTENSIONS InfoType.
SQL_GROUP_BY 2.0 Um valor SQLUSMALLINT que especifica a relação entre as colunas na cláusula GROUP BY e as colunas não agregadas na lista de seleção:
SQL_GB_COLLATE = Uma cláusula COLLATE pode ser especificada no final de cada coluna de agrupamento. (ODBC 3.0)
SQL_GB_NOT_SUPPORTED = não há suporte para cláusulas GROUP BY . (ODBC 2.0)
SQL_GB_GROUP_BY_EQUALS_SELECT = A cláusula GROUP BY deve conter todas as colunas não agregadas na lista de seleção. Ele não pode conter nenhuma outra coluna. Por exemplo, SELECT DEPT, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT. (ODBC 2.0)
SQL_GB_GROUP_BY_CONTAINS_SELECT = A cláusula GROUP BY deve conter todas as colunas não agregadas na lista de seleção. Ele pode conter colunas que não estão na lista de seleção. Por exemplo, SELECT DEPT, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT, AGE. (ODBC 2.0)
SQL_GB_NO_RELATION = As colunas na cláusula GROUP BY e na lista de seleção não estão relacionadas. O significado de colunas não agrupadas e não agregadas na lista de seleção depende da fonte de dados. Por exemplo, SELECT DEPT, SALARY FROM EMPLOYEE GROUP BY DEPT, AGE. (ODBC 2.0)

Um driver compatível com o nível de entrada do SQL-92 sempre retornará a opção SQL_GB_GROUP_BY_EQUALS_SELECT conforme o suporte. Um driver compatível com o nível completo do SQL-92 sempre retornará a opção SQL_GB_COLLATE conforme o suporte. Se nenhuma das opções tiver suporte, a cláusula GROUP BY não terá suporte da fonte de dados.
SQL_IDENTIFIER_CASE 1.0 Um valor SQLUSMALLINT da seguinte maneira:
SQL_IC_UPPER = Identificadores no SQL não diferenciam maiúsculas de minúsculas e são armazenados em maiúsculas no catálogo do sistema.
SQL_IC_LOWER = Identificadores no SQL não diferenciam maiúsculas de minúsculas e são armazenados em minúsculas no catálogo do sistema.
SQL_IC_SENSITIVE = Identificadores no SQL diferenciam maiúsculas de minúsculas e são armazenados em maiúsculas e minúsculas no catálogo do sistema.
SQL_IC_MIXED = Identificadores no SQL não diferenciam maiúsculas de minúsculas e são armazenados em caso misto no catálogo do sistema.

Como os identificadores no SQL-92 nunca diferenciam maiúsculas de minúsculas, um driver que está em conformidade estritamente com o SQL-92 (qualquer nível) nunca retornará a opção de SQL_IC_SENSITIVE conforme o suporte.
SQL_IDENTIFIER_QUOTE_CHAR 1.0 A cadeia de caracteres usada como o delimitador inicial e final de um identificador entre aspas (delimitado) em instruções SQL. (Identificadores passados como argumentos para funções ODBC não precisam ser citados.) Se a fonte de dados não der suporte a identificadores entre aspas, um espaço em branco será retornado.

Essa cadeia de caracteres também pode ser usada para citar argumentos de função de catálogo quando o atributo de conexão SQL_ATTR_METADATA_ID é definido como SQL_TRUE.

Como o caractere de aspas do identificador no SQL-92 é a aspa dupla ("), um driver que está em conformidade estritamente com o SQL-92 sempre retornará o caractere de aspas duplas.
SQL_INDEX_KEYWORDS 3.0 Uma máscara de bits SQLUINTEGER que enumera palavras-chave na instrução CREATE INDEX com suporte do driver:
SQL_IK_NONE = Nenhuma das palavras-chave tem suporte.
SQL_IK_ASC = há suporte para a palavra-chave ASC.
SQL_IK_DESC = há suporte para a palavra-chave DESC.
SQL_IK_ALL = Há suporte para todas as palavras-chave.

Para ver se a instrução CREATE INDEX tem suporte, um aplicativo chama SQLGetInfo com o tipo de informações SQL_DLL_INDEX.
SQL_INFO_SCHEMA_VIEWS 3.0 Uma máscara de bits SQLUINTEGER enumerando as exibições no INFORMATION_SCHEMA compatíveis com o driver. Os modos de exibição e o conteúdo de INFORMATION_SCHEMA são definidos no SQL-92.

O nível de conformidade sql-92 ou FIPS no qual esse recurso deve ter suporte é mostrado entre parênteses ao lado de cada máscara de bits.

As máscaras de bits a seguir são usadas para determinar quais modos de exibição têm suporte:
SQL_ISV_ASSERTIONS = Identifica as declarações do catálogo que pertencem a um determinado usuário. (Nível completo)
SQL_ISV_CHARACTER_SETS = Identifica os conjuntos de caracteres do catálogo que podem ser acessados por um determinado usuário. (Nível intermediário)
SQL_ISV_CHECK_CONSTRAINTS = Identifica as restrições CHECK pertencentes a um determinado usuário. (Nível intermediário)
SQL_ISV_COLLATIONS = Identifica as ordenações de caracteres para o catálogo que podem ser acessadas por um determinado usuário. (Nível completo)
SQL_ISV_COLUMN_DOMAIN_USAGE = Identifica colunas para o catálogo que dependem de domínios definidos no catálogo e pertencem a um determinado usuário. (Nível intermediário)
SQL_ISV_COLUMN_PRIVILEGES = Identifica os privilégios em colunas de tabelas persistentes que estão disponíveis ou concedidas por um determinado usuário. (Nível de transição do FIPS)
SQL_ISV_COLUMNS = Identifica as colunas de tabelas persistentes que podem ser acessadas por um determinado usuário. (Nível de transição do FIPS)
SQL_ISV_CONSTRAINT_COLUMN_USAGE = Semelhante à exibição CONSTRAINT_TABLE_USAGE, as colunas são identificadas para as várias restrições que pertencem a um determinado usuário. (Nível intermediário)
SQL_ISV_CONSTRAINT_TABLE_USAGE = Identifica as tabelas que são usadas por restrições (referencial, exclusiva e asserções) e pertencem a um determinado usuário. (Nível intermediário)
SQL_ISV_DOMAIN_CONSTRAINTS = Identifica as restrições de domínio (dos domínios no catálogo) que podem ser acessadas por um determinado usuário. (Nível intermediário)
SQL_ISV_DOMAINS = Identifica os domínios definidos em um catálogo que podem ser acessados pelo usuário. (Nível intermediário)
SQL_ISV_KEY_COLUMN_USAGE = Identifica colunas definidas no catálogo que são restritas como chaves por um determinado usuário. (Nível intermediário)
SQL_ISV_REFERENTIAL_CONSTRAINTS = Identifica as restrições referenciais que pertencem a um determinado usuário. (Nível intermediário)
SQL_ISV_SCHEMATA = Identifica os esquemas pertencentes a um determinado usuário. (Nível intermediário)
SQL_ISV_SQL_LANGUAGES = Identifica os níveis, as opções e os dialetos de conformidade do SQL compatíveis com a implementação do SQL. (Nível intermediário)
SQL_ISV_TABLE_CONSTRAINTS = Identifica as restrições de tabela que pertencem a um determinado usuário. (Nível intermediário)
SQL_ISV_TABLE_PRIVILEGES = Identifica os privilégios em tabelas persistentes que estão disponíveis ou concedidas por um determinado usuário. (Nível de transição do FIPS)
SQL_ISV_TABLES = Identifica as tabelas persistentes definidas em um catálogo que podem ser acessadas por um determinado usuário. (Nível de transição do FIPS)
SQL_ISV_TRANSLATIONS = Identifica traduções de caracteres para o catálogo que podem ser acessadas por um determinado usuário. (Nível completo)
SQL_ISV_USAGE_PRIVILEGES = Identifica os privilégios USAGE em objetos de catálogo disponíveis ou pertencentes a um determinado usuário. (Nível de transição do FIPS)
SQL_ISV_VIEW_COLUMN_USAGE = Identifica as colunas nas quais as exibições do catálogo que pertencem a um determinado usuário são dependentes. (Nível intermediário)
SQL_ISV_VIEW_TABLE_USAGE = Identifica as tabelas nas quais as exibições do catálogo que pertencem a um determinado usuário são dependentes. (Nível intermediário)
SQL_ISV_VIEWS = Identifica as tabelas visualizadas definidas neste catálogo que podem ser acessadas por um determinado usuário. (Nível de transição do FIPS)
SQL_INSERT_STATEMENT 3.0 Uma máscara de bits SQLUINTEGER que indica suporte para instruções INSERT :
SQL_IS_INSERT_LITERALS
SQL_IS_INSERT_SEARCHED
SQL_IS_SELECT_INTO

Um driver compatível com o nível de entrada do SQL-92 sempre retornará todas essas opções conforme o suporte.
SQL_INTEGRITY 1.0 Uma cadeia de caracteres: "Y" se a fonte de dados der suporte ao Recurso de Aprimoramento de Integridade; "N" se não.

Este InfoType foi renomeado para ODBC 3.0 da SQL_ODBC_SQL_OPT_IEF InfoType ODBC 2.0.
SQL_KEYSET_CURSOR_ATTRIBUTES1 3.0 Uma máscara de bits SQLUINTEGER que descreve os atributos de um cursor de conjunto de chaves com suporte do driver. Essa máscara de bits contém o primeiro subconjunto de atributos; para o segundo subconjunto, consulte SQL_KEYSET_CURSOR_ATTRIBUTES2.

As máscaras de bits a seguir são usadas para determinar quais atributos têm suporte:
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

Para obter descrições dessas máscaras de bits, consulte SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (e substitua "cursor controlado por conjunto de chaves" por "cursor dinâmico" nas descrições).

Um driver compatível com o nível intermediário do SQL-92 geralmente retornará as opções SQL_CA1_NEXT, SQL_CA1_ABSOLUTE e SQL_CA1_RELATIVE conforme o suporte, pois o driver dá suporte a cursores roláveis por meio da instrução FETCH do SQL inserido. Como isso não determina diretamente o suporte a SQL subjacente, no entanto, os cursores roláveis podem não ter suporte, mesmo para um driver de nível intermediário sql-92.
SQL_KEYSET_CURSOR_ATTRIBUTES2 3.0 Uma máscara de bits SQLUINTEGER que descreve os atributos de um cursor de conjunto de chaves com suporte do driver. Essa máscara de bits contém o segundo subconjunto de atributos; para o primeiro subconjunto, consulte SQL_KEYSET_CURSOR_ATTRIBUTES1.

As máscaras de bits a seguir são usadas para determinar quais atributos têm suporte:
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

Para obter descrições dessas máscaras de bits, consulte SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (e substitua "cursor controlado por conjunto de chaves" por "cursor dinâmico" nas descrições).
SQL_KEYWORDS 2.0 Uma cadeia de caracteres que contém uma lista separada por vírgulas de todas as palavras-chave específicas da fonte de dados. Essa lista não contém palavras-chave específicas para ODBC ou palavras-chave usadas pela fonte de dados e pelo ODBC. Esta lista representa todas as palavras-chave reservadas; Aplicativos interoperáveis não devem usar essas palavras em nomes de objeto.

Para obter uma lista de palavras-chave ODBC, consulte Palavras-chave reservadas no apêndice C: Gramática SQL. O valor #define SQL_ODBC_KEYWORDS contém uma lista separada por vírgulas de palavras-chave ODBC.
SQL_LIKE_ESCAPE_CLAUSE 2.0 Uma cadeia de caracteres: "Y" se a fonte de dados der suporte a um caractere de escape para o caractere de porcentagem (%) e caractere de sublinhado (_) em um predicado LIKE e o driver oferecer suporte à sintaxe ODBC para definir um caractere de escape de predicado LIKE ; "N" caso contrário.
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS 3.0 Um valor SQLUINTEGER que especifica o número máximo de instruções simultâneas ativas no modo assíncrono que o driver pode dar suporte em uma determinada conexão. Se não houver nenhum limite específico ou o limite for desconhecido, esse valor será zero.
SQL_MAX_BINARY_LITERAL_LEN 2.0 Um valor SQLUINTEGER que especifica o comprimento máximo (número de caracteres hexadecimal, excluindo o prefixo literal e o sufixo retornados por SQLGetTypeInfo) de um literal binário em uma instrução SQL. Por exemplo, o literal binário 0xFFAA tem um comprimento de 4. Se não houver comprimento máximo ou o comprimento for desconhecido, esse valor será definido como zero.
SQL_MAX_CATALOG_NAME_LEN 1.0 Um valor SQLUSMALLINT que especifica o comprimento máximo de um nome de catálogo na fonte de dados. Se não houver comprimento máximo ou o comprimento for desconhecido, esse valor será definido como zero.

Um driver compatível com o nível completo do FIPS retornará pelo menos 128.

Este InfoType foi renomeado para ODBC 3.0 da SQL_MAX_QUALIFIER_NAME_LEN InfoType ODBC 2.0.
SQL_MAX_CHAR_LITERAL_LEN 2.0 Um valor SQLUINTEGER que especifica o comprimento máximo (número de caracteres, excluindo o prefixo literal e o sufixo retornados por SQLGetTypeInfo) de um literal de caractere em uma instrução SQL. Se não houver comprimento máximo ou o comprimento for desconhecido, esse valor será definido como zero.
SQL_MAX_COLUMN_NAME_LEN 1.0 Um valor SQLUSMALLINT que especifica o comprimento máximo de um nome de coluna na fonte de dados. Se não houver comprimento máximo ou o comprimento for desconhecido, esse valor será definido como zero.

Um driver compatível com o nível de entrada fips retornará pelo menos 18. Um driver de nível intermediário fips retornará pelo menos 128.
SQL_MAX_COLUMNS_IN_GROUP_BY 2.0 Um valor SQLUSMALLINT que especifica o número máximo de colunas permitidas em uma cláusula GROUP BY . Se não houver nenhum limite especificado ou o limite for desconhecido, esse valor será definido como zero.

Um driver compatível com o nível de entrada fips retornará pelo menos 6. Um driver de nível intermediário FIPS retornará pelo menos 15.
SQL_MAX_COLUMNS_IN_INDEX 2.0 Um valor SQLUSMALLINT que especifica o número máximo de colunas permitidas em um índice. Se não houver nenhum limite especificado ou o limite for desconhecido, esse valor será definido como zero.
SQL_MAX_COLUMNS_IN_ORDER_BY 2.0 Um valor SQLUSMALLINT que especifica o número máximo de colunas permitidas em uma cláusula ORDER BY . Se não houver nenhum limite especificado ou o limite for desconhecido, esse valor será definido como zero.

Um driver compatível com o nível de entrada fips retornará pelo menos 6. Um driver de nível intermediário FIPS retornará pelo menos 15.
SQL_MAX_COLUMNS_IN_SELECT 2.0 Um valor SQLUSMALLINT que especifica o número máximo de colunas permitidas em uma lista de seleção. Se não houver nenhum limite especificado ou o limite for desconhecido, esse valor será definido como zero.

Um driver compatível com o nível de entrada fips retornará pelo menos 100. Um driver de nível intermediário fips retornará pelo menos 250.
SQL_MAX_COLUMNS_IN_TABLE 2.0 Um valor SQLUSMALLINT que especifica o número máximo de colunas permitidas em uma tabela. Se não houver nenhum limite especificado ou o limite for desconhecido, esse valor será definido como zero.

Um driver compatível com o nível de entrada fips retornará pelo menos 100. Um driver de nível intermediário fips retornará pelo menos 250.
SQL_MAX_CONCURRENT_ACTIVITIES 1.0 Um valor SQLUSMALLINT que especifica o número máximo de instruções ativas que o driver pode dar suporte para uma conexão. Uma instrução será definida como ativa se tiver resultados pendentes, com o termo "resultados" significando linhas de uma operação SELECT ou linhas afetadas por uma operação INSERT, UPDATE ou DELETE (como uma contagem de linhas) ou se estiver em um estado NEED_DATA. Esse valor pode refletir uma limitação imposta pelo driver ou pela fonte de dados. Se não houver nenhum limite especificado ou o limite for desconhecido, esse valor será definido como zero.

Este InfoType foi renomeado para ODBC 3.0 da SQL_ACTIVE_STATEMENTS InfoType ODBC 2.0.
SQL_MAX_CURSOR_NAME_LEN 1.0 Um valor SQLUSMALLINT que especifica o comprimento máximo de um nome de cursor na fonte de dados. Se não houver comprimento máximo ou o comprimento for desconhecido, esse valor será definido como zero.

Um driver compatível com o nível de entrada fips retornará pelo menos 18. Um driver de nível intermediário fips retornará pelo menos 128.
SQL_MAX_DRIVER_CONNECTIONS 1.0 Um valor SQLUSMALLINT que especifica o número máximo de conexões ativas que o driver pode dar suporte para um ambiente. Esse valor pode refletir uma limitação imposta pelo driver ou pela fonte de dados. Se não houver nenhum limite especificado ou o limite for desconhecido, esse valor será definido como zero.

Este InfoType foi renomeado para ODBC 3.0 da SQL_ACTIVE_CONNECTIONS InfoType ODBC 2.0.
SQL_MAX_IDENTIFIER_LEN 3.0 Um SQLUSMALLINT que indica o tamanho máximo em caracteres aos quais a fonte de dados dá suporte para nomes definidos pelo usuário.

Um driver compatível com o nível de entrada fips retornará pelo menos 18. Um driver de nível intermediário fips retornará pelo menos 128.
SQL_MAX_INDEX_SIZE 2.0 Um valor SQLUINTEGER que especifica o número máximo de bytes permitidos nos campos combinados de um índice. Se não houver nenhum limite especificado ou o limite for desconhecido, esse valor será definido como zero.
SQL_MAX_PROCEDURE_NAME_LEN 1.0 Um valor SQLUSMALLINT que especifica o comprimento máximo de um nome de procedimento na fonte de dados. Se não houver comprimento máximo ou o comprimento for desconhecido, esse valor será definido como zero.
SQL_MAX_ROW_SIZE 2.0 Um valor SQLUINTEGER que especifica o comprimento máximo de uma única linha em uma tabela. Se não houver nenhum limite especificado ou o limite for desconhecido, esse valor será definido como zero.

Um driver compatível com o nível de entrada fips retornará pelo menos 2.000. Um driver de nível intermediário fips retornará pelo menos 8.000.
SQL_MAX_ROW_SIZE_INCLUDES_LONG 3.0 Uma cadeia de caracteres: "Y" se o tamanho máximo da linha retornado para o tipo de informações SQL_MAX_ROW_SIZE incluir o comprimento de todas as colunas SQL_LONGVARCHAR e SQL_LONGVARBINARY na linha; "N" caso contrário.
SQL_MAX_SCHEMA_NAME_LEN 1.0 Um valor SQLUSMALLINT que especifica o comprimento máximo de um nome de esquema na fonte de dados. Se não houver comprimento máximo ou o comprimento for desconhecido, esse valor será definido como zero.

Um driver compatível com o nível de entrada fips retornará pelo menos 18. Um driver de nível intermediário fips retornará pelo menos 128.

Este InfoType foi renomeado para ODBC 3.0 da SQL_MAX_OWNER_NAME_LEN InfoType ODBC 2.0.
SQL_MAX_STATEMENT_LEN 2.0 Um valor SQLUINTEGER que especifica o comprimento máximo (número de caracteres, incluindo espaço em branco) de uma instrução SQL. Se não houver comprimento máximo ou o comprimento for desconhecido, esse valor será definido como zero.
SQL_MAX_TABLE_NAME_LEN 1.0 Um valor SQLUSMALLINT que especifica o comprimento máximo de um nome de tabela na fonte de dados. Se não houver comprimento máximo ou o comprimento for desconhecido, esse valor será definido como zero.

Um driver compatível com o nível de entrada fips retornará pelo menos 18. Um driver de nível intermediário fips retornará pelo menos 128.
SQL_MAX_TABLES_IN_SELECT 2.0 Um valor SQLUSMALLINT que especifica o número máximo de tabelas permitidas na cláusula FROM de uma instrução SELECT . Se não houver nenhum limite especificado ou o limite for desconhecido, esse valor será definido como zero.

Um driver compatível com o nível de entrada fips retornará pelo menos 15. Um driver compatível com o nível intermediário do FIPS retornará pelo menos 50.
SQL_MAX_USER_NAME_LEN 2.0 Um valor SQLUSMALLINT que especifica o comprimento máximo de um nome de usuário na fonte de dados. Se não houver comprimento máximo ou o comprimento for desconhecido, esse valor será definido como zero.
SQL_MULT_RESULT_SETS 1.0 Uma cadeia de caracteres: "Y" se a fonte de dados der suporte a vários conjuntos de resultados, "N" se não o fizer.

Para obter mais informações sobre vários conjuntos de resultados, consulte Vários resultados.
SQL_MULTIPLE_ACTIVE_TXN 1.0 Uma cadeia de caracteres: "Y" se o driver der suporte a mais de uma transação ativa ao mesmo tempo, "N" se apenas uma transação puder estar ativa a qualquer momento.

As informações retornadas para esse tipo de informação não se aplicam no caso de transações distribuídas.
SQL_NEED_LONG_DATA_LEN 2.0 Uma cadeia de caracteres: "Y" se a fonte de dados precisar do comprimento de um valor de dados longo (o tipo de dados é SQL_LONGVARCHAR, SQL_LONGVARBINARY ou um tipo de dados específico da fonte de dados longa) antes que esse valor seja enviado para a fonte de dados, "N", se não o fizer. Para obter mais informações, consulte Função SQLBindParameter e Função SQLSetPos.
SQL_NON_NULLABLE_COLUMNS 1.0 Um valor SQLUSMALLINT que especifica se a fonte de dados dá suporte a NOT NULL em colunas:
SQL_NNC_NULL = Todas as colunas devem ser anuláveis.
SQL_NNC_NON_NULL = Colunas não podem ser anuláveis. (A fonte de dados dá suporte à restrição de coluna NOT NULL em instruções CREATE TABLE .)

Um driver compatível com o nível de entrada do SQL-92 retornará SQL_NNC_NON_NULL.
SQL_NULL_COLLATION 2.0 Um valor SQLUSMALLINT que especifica onde NULLs são classificadas em um conjunto de resultados:
SQL_NC_END = NULLs são classificados no final do conjunto de resultados, independentemente das palavras-chave ASC ou DESC.
SQL_NC_HIGH = NULLs são classificados na extremidade superior do conjunto de resultados, dependendo das palavras-chave ASC ou DESC.
SQL_NC_LOW = NULLs são classificados na extremidade inferior do conjunto de resultados, dependendo das palavras-chave ASC ou DESC.
SQL_NC_START = NULLs são classificados no início do conjunto de resultados, independentemente das palavras-chave ASC ou DESC.
SQL_NUMERIC_FUNCTIONS 1.0 Observação: o tipo de informação foi introduzido no ODBC 1.0; cada máscara de bits é rotulada com a versão em que foi introduzida.

Uma máscara de bits SQLUINTEGER enumerando as funções numéricas escalares compatíveis com o driver e a fonte de dados associada.

As máscaras de bits a seguir são usadas para determinar quais funções numéricas têm suporte:
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 Um valor SQLUINTEGER que indica o nível da interface ODBC 3*.x* com o qual o driver está em conformidade.

SQL_OIC_CORE: o nível mínimo com o qual todos os drivers ODBC devem estar em conformidade. Esse nível inclui elementos básicos da interface, como funções de conexão, funções para preparar e executar uma instrução SQL, funções básicas de metadados do conjunto de resultados, funções básicas do catálogo e assim por diante.
SQL_OIC_LEVEL1: um nível que inclui a funcionalidade de nível de conformidade dos padrões principais, além de cursores roláveis, indicadores, atualizações e exclusões posicionadas e assim por diante.
SQL_OIC_LEVEL2: um nível que inclui a funcionalidade de nível de conformidade de padrões de nível 1, além de recursos avançados, como cursores confidenciais; atualizar, excluir e atualizar por indicadores; suporte a procedimentos armazenados; funções de catálogo para chaves primárias e estrangeiras; suporte a vários catálogos; e assim por diante.

Para obter mais informações, consulte Níveis de conformidade da interface.
SQL_ODBC_VER 1.0 Uma cadeia de caracteres com a versão do ODBC à qual o Gerenciador de Driver está em conformidade. A versão é do formato ##.##.0000, em que os dois primeiros dígitos são a versão principal e os dois dígitos seguintes são a versão secundária. Isso é implementado apenas no Gerenciador de Driver.
SQL_OJ_CAPABILITIES 2.01 Uma máscara de bits SQLUINTEGER enumerando os tipos de junções externas compatíveis com o driver e a fonte de dados. As máscaras de bits a seguir são usadas para determinar quais tipos têm suporte:
SQL_OJ_LEFT = Há suporte para junções externas esquerdas.
SQL_OJ_RIGHT = Há suporte para junções externas direitas.
SQL_OJ_FULL = Há suporte para junções externas completas.
SQL_OJ_NESTED = há suporte para junções externas aninhadas.
SQL_OJ_NOT_ORDERED = Os nomes de coluna na cláusula ON da junção externa não precisam estar na mesma ordem que seus respectivos nomes de tabela na cláusula OUTER JOIN .
SQL_OJ_INNER = A tabela interna (a tabela direita em uma junção externa esquerda ou a tabela esquerda em uma junção externa direita) também pode ser usada em uma junção interna. Isso não se aplica a junções externas completas, que não têm uma tabela interna.
SQL_OJ_ALL_COMPARISON_OPS = O operador de comparação na cláusula ON pode ser qualquer um dos operadores de comparação ODBC. Se esse bit não estiver definido, somente o operador de comparação igual a (=) poderá ser usado em junções externas.

Se nenhuma dessas opções for retornada como suporte, nenhuma cláusula de junção externa terá suporte.

Para obter informações sobre o suporte de operadores de junção relacional em uma instrução SELECT, conforme definido pelo SQL-92, consulte SQL_SQL92_RELATIONAL_JOIN_OPERATORS.
SQL_ORDER_BY_COLUMNS_IN_SELECT 2.0 Uma cadeia de caracteres: "Y" se as colunas na cláusula ORDER BY precisarem estar na lista de seleção; caso contrário, "N".
SQL_PARAM_ARRAY_ROW_COUNTS 3.0 Um SQLUINTEGER enumerando as propriedades do driver em relação à disponibilidade de contagens de linhas em uma execução parametrizada. Tem os seguintes valores:
SQL_PARC_BATCH = Contagens de linhas individuais estão disponíveis para cada conjunto de parâmetros. Isso é conceitualmente equivalente ao driver que gera um lote de instruções SQL, uma para cada conjunto de parâmetros na matriz. As informações de erro estendidas podem ser recuperadas usando o campo descritor SQL_PARAM_STATUS_PTR.
SQL_PARC_NO_BATCH = Há apenas uma contagem de linhas disponível, que é a contagem cumulativa de linhas resultante da execução da instrução para toda a matriz de parâmetros. Isso é conceitualmente equivalente a tratar a instrução junto com a matriz de parâmetros completa como uma unidade atômica. Os erros são tratados da mesma forma que se uma instrução fosse executada.
SQL_PARAM_ARRAY_SELECTS 3.0 Um SQLUINTEGER enumerando as propriedades do driver em relação à disponibilidade dos conjuntos de resultados em uma execução parametrizada. Tem os seguintes valores:
SQL_PAS_BATCH = Há um conjunto de resultados disponível por conjunto de parâmetros. Isso é conceitualmente equivalente ao driver que gera um lote de instruções SQL, uma para cada conjunto de parâmetros na matriz.
SQL_PAS_NO_BATCH = Há apenas um conjunto de resultados disponível, que representa o conjunto de resultados cumulativo resultante da execução da instrução para a matriz completa de parâmetros. Isso é conceitualmente equivalente a tratar a instrução junto com a matriz de parâmetros completa como uma unidade atômica.
SQL_PAS_NO_SELECT = Um driver não permite que uma instrução de geração de conjunto de resultados seja executada com uma matriz de parâmetros.
SQL_POS_OPERATIONS 2.0 Um bitmask SQLINTEGER enumerando as operações de suporte em SQLSetPos.

As máscaras de bits a seguir são usadas junto com o sinalizador para determinar quais opções têm suporte.
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 Uma cadeia de caracteres com o nome do fornecedor da fonte de dados para um procedimento; por exemplo, "procedimento de banco de dados", "procedimento armazenado", "procedimento", "pacote" ou "consulta armazenada".
SQL_PROCEDURES 1.0 Uma cadeia de caracteres: "Y" se a fonte de dados der suporte a procedimentos e o driver der suporte à sintaxe de invocação do procedimento ODBC; Caso contrário, "N".
SQL_QUOTED_IDENTIFIER_CASE 2.0 Um valor SQLUSMALLINT da seguinte maneira:
SQL_IC_UPPER = Os identificadores entre aspas no SQL não diferenciam maiúsculas de minúsculas e são armazenados em maiúsculas no catálogo do sistema.
SQL_IC_LOWER = Identificadores entre aspas no SQL não diferenciam maiúsculas de minúsculas e são armazenados em minúsculas no catálogo do sistema.
SQL_IC_SENSITIVE = Identificadores entre aspas no SQL diferenciam maiúsculas de minúsculas e são armazenados em maiúsculas e minúsculas no catálogo do sistema. (Em um banco de dados compatível com SQL-92, os identificadores entre aspas sempre diferenciam maiúsculas de minúsculas.)
SQL_IC_MIXED = Identificadores entre aspas no SQL não diferenciam maiúsculas de minúsculas e são armazenados em caso misto no catálogo do sistema.

Um driver compatível com o nível de entrada do SQL-92 sempre retornará SQL_IC_SENSITIVE.
SQL_ROW_UPDATES 1.0 Uma cadeia de caracteres: "Y" se um cursor misto ou controlado por conjunto de chaves mantiver versões de linha ou valores para todas as linhas buscadas e, portanto, puder detectar todas as atualizações feitas em uma linha por qualquer usuário desde a última busca da linha. (Isso se aplica somente a atualizações, não a exclusões ou inserções.) O driver pode retornar o sinalizador SQL_ROW_UPDATED para a matriz de status da linha quando SQLFetchScroll é chamado. Caso contrário, "N".
SQL_SCHEMA_TERM 1.0 Uma cadeia de caracteres com o nome do fornecedor da fonte de dados para um esquema; por exemplo, "proprietário", "ID de autorização" ou "Esquema".

A cadeia de caracteres pode ser retornada em letras maiúsculas, minúsculas ou mistas.

Um driver compatível com o nível de entrada do SQL-92 sempre retornará "esquema".

Este InfoType foi renomeado para ODBC 3.0 da SQL_OWNER_TERM InfoType ODBC 2.0.
SQL_SCHEMA_USAGE 2.0 Uma máscara de bits SQLUINTEGER enumerando as instruções nas quais os esquemas podem ser usados:
SQL_SU_DML_STATEMENTS = Esquemas têm suporte em todas as instruções de Linguagem de Manipulação de Dados: SELECT, INSERT, UPDATE, DELETE e, se houver suporte, SELECT FOR UPDATE e instruções de atualização e exclusão posicionadas.
SQL_SU_PROCEDURE_INVOCATION = Há suporte para esquemas na instrução de invocação de procedimento ODBC.
SQL_SU_TABLE_DEFINITION = Esquemas têm suporte em todas as instruções de definição de tabela: CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE e DROP VIEW.
SQL_SU_INDEX_DEFINITION = Esquemas têm suporte em todas as instruções de definição de índice: CREATE INDEX e DROP INDEX.
SQL_SU_PRIVILEGE_DEFINITION = Há suporte para esquemas em todas as instruções de definição de privilégio: GRANT e REVOKE.

Um driver compatível com o nível de entrada do SQL-92 sempre retornará as opções de SQL_SU_DML_STATEMENTS, SQL_SU_TABLE_DEFINITION e SQL_SU_PRIVILEGE_DEFINITION, conforme o suporte.

Este InfoType foi renomeado para ODBC 3.0 da SQL_OWNER_USAGE InfoType ODBC 2.0.
SQL_SCROLL_OPTIONS 1.0 Observação: o tipo de informação foi introduzido no ODBC 1.0; cada máscara de bits é rotulada com a versão em que foi introduzida.

Uma máscara de bits SQLUINTEGER enumerando as opções de rolagem com suporte para cursores roláveis.

As máscaras de bits a seguir são usadas para determinar quais opções têm suporte:
SQL_SO_FORWARD_ONLY = O cursor rola apenas para frente. (ODBC 1.0)
SQL_SO_STATIC = Os dados no conjunto de resultados são estáticos. (ODBC 2.0)
SQL_SO_KEYSET_DRIVEN = O driver salva e usa as chaves para cada linha no conjunto de resultados. (ODBC 1.0)
SQL_SO_DYNAMIC = O driver mantém as chaves para cada linha no conjunto de linhas (o tamanho do conjunto de chaves é o mesmo que o tamanho do conjunto de linhas). (ODBC 1.0)
SQL_SO_MIXED = O driver mantém as chaves para cada linha no conjunto de chaves e o tamanho do conjunto de chaves é maior que o tamanho do conjunto de linhas. O cursor é controlado por conjunto de chaves dentro do conjunto de chaves e dinâmico fora do conjunto de chaves. (ODBC 1.0)

Para obter informações sobre cursores roláveis, consulte Cursores roláveis.
SQL_SEARCH_PATTERN_ESCAPE 1.0 Uma cadeia de caracteres que especifica o que o driver dá suporte como um caractere de escape que permite o uso do sublinhado de metacaracteres de correspondência de padrão (_) e sinal de porcentagem (%) como caracteres válidos em padrões de pesquisa. Esse caractere de escape se aplica somente aos argumentos de função de catálogo que dão suporte a cadeias de caracteres de pesquisa. Se essa cadeia de caracteres estiver vazia, o driver não oferecerá suporte a um caractere de escape de padrão de pesquisa.

Como esse tipo de informação não indica suporte geral do caractere de escape no predicado LIKE , o SQL-92 não inclui requisitos para essa cadeia de caracteres.

Esse InfoType é limitado a funções de catálogo. Para obter uma descrição do uso do caractere de escape em cadeias de caracteres de padrão de pesquisa, consulte Argumentos de valor padrão.
SQL_SERVER_NAME 1.0 Uma cadeia de caracteres com o nome do servidor específico da fonte de dados real; útil quando um nome de fonte de dados é usado durante SQLConnect, SQLDriverConnect e SQLBrowseConnect.
SQL_SPECIAL_CHARACTERS 2.0 Uma cadeia de caracteres que contém todos os caracteres especiais (ou seja, todos os caracteres, exceto um a z, A a Z, 0 a 9 e sublinhado) que podem ser usados em um nome de identificador, como um nome de tabela, nome de coluna ou nome de índice, na fonte de dados. Por exemplo, "#$^". Se um identificador contiver um ou mais desses caracteres, o identificador deverá ser um identificador delimitado.
SQL_SQL_CONFORMANCE 3.0 Um valor SQLUINTEGER que indica o nível de SQL-92 compatível com o driver:
SQL_SC_SQL92_ENTRY = compatível com SQL-92 de nível de entrada.
SQL_SC_FIPS127_2_TRANSITIONAL = em conformidade com o nível de transição do FIPS 127-2.
SQL_SC_SQL92_FULL = compatível com SQL-92 de nível completo.
SQL_SC_ SQL92_INTERMEDIATE = compatível com SQL-92 de nível intermediário.
SQL_SQL92_DATETIME_FUNCTIONS 3.0 Uma máscara de bits SQLUINTEGER enumerando as funções escalares datetime compatíveis com o driver e a fonte de dados associada, conforme definido no SQL-92.

As máscaras de bits a seguir são usadas para determinar quais funções datetime têm suporte:
SQL_SDF_CURRENT_DATE
SQL_SDF_CURRENT_TIME
SQL_SDF_CURRENT_TIMESTAMP
SQL_SQL92_FOREIGN_KEY_DELETE_RULE 3.0 Uma máscara de bits SQLUINTEGER enumerando as regras com suporte para uma chave estrangeira em uma instrução DELETE , conforme definido em SQL-92.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte da fonte de dados:
SQL_SFKD_CASCADE
SQL_SFKD_NO_ACTION
SQL_SFKD_SET_DEFAULT
SQL_SFKD_SET_NULL

Um driver compatível com o nível de transição do FIPS sempre retornará todas essas opções conforme o suporte.
SQL_SQL92_FOREIGN_KEY_UPDATE_RULE 3.0 Uma máscara de bits SQLUINTEGER enumerando as regras com suporte para uma chave estrangeira em uma instrução UPDATE , conforme definido no SQL-92.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte da fonte de dados:
SQL_SFKU_CASCADE
SQL_SFKU_NO_ACTION
SQL_SFKU_SET_DEFAULT
SQL_SFKU_SET_NULL

Um driver compatível com o nível completo do SQL-92 sempre retornará todas essas opções conforme o suporte.
SQL_SQL92_GRANT 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas com suporte na instrução GRANT , conforme definido em SQL-92.

O nível de conformidade sql-92 ou FIPS no qual esse recurso deve ter suporte é mostrado entre parênteses ao lado de cada máscara de bits.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte da fonte de dados:
SQL_SG_DELETE_TABLE (Nível de entrada)
SQL_SG_INSERT_COLUMN (nível intermediário)
SQL_SG_INSERT_TABLE (Nível de entrada)
SQL_SG_REFERENCES_TABLE (Nível de entrada)
SQL_SG_REFERENCES_COLUMN (Nível de entrada)
SQL_SG_SELECT_TABLE (Nível de entrada)
SQL_SG_UPDATE_COLUMN (Nível de entrada)
SQL_SG_UPDATE_TABLE (Nível de entrada)
SQL_SG_USAGE_ON_DOMAIN (nível de transição do FIPS)
SQL_SG_USAGE_ON_CHARACTER_SET (nível de transição do FIPS)
SQL_SG_USAGE_ON_COLLATION (nível de transição do FIPS)
SQL_SG_USAGE_ON_TRANSLATION (nível de transição do FIPS)
SQL_SG_WITH_GRANT_OPTION (Nível de entrada)
SQL_SQL92_NUMERIC_VALUE_FUNCTIONS 3.0 Uma máscara de bits SQLUINTEGER enumerando as funções escalares de valor numérico compatíveis com o driver e a fonte de dados associada, conforme definido em SQL-92.

As máscaras de bits a seguir são usadas para determinar quais funções numéricas têm suporte:
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 Um bitmask SQLUINTEGER enumerando os predicados com suporte em uma instrução SELECT , conforme definido em SQL-92.

O nível de conformidade sql-92 ou FIPS no qual esse recurso deve ter suporte é mostrado entre parênteses ao lado de cada máscara de bits.

As máscaras de bits a seguir são usadas para determinar quais opções são compatíveis com a fonte de dados:
SQL_SP_BETWEEN (Nível de entrada)
SQL_SP_COMPARISON (Nível de entrada)
SQL_SP_EXISTS (Nível de entrada)
SQL_SP_IN (Nível de entrada)
SQL_SP_ISNOTNULL (Nível de entrada)
SQL_SP_ISNULL (Nível de entrada)
SQL_SP_LIKE (Nível de entrada)
SQL_SP_MATCH_FULL (nível completo)
SQL_SP_MATCH_PARTIAL(Nível completo)
SQL_SP_MATCH_UNIQUE_FULL (nível completo)
SQL_SP_MATCH_UNIQUE_PARTIAL (nível completo)
SQL_SP_OVERLAPS (nível de transição do FIPS)
SQL_SP_QUANTIFIED_COMPARISON (Nível de entrada)
SQL_SP_UNIQUE (Nível de entrada)
SQL_SQL92_RELATIONAL_JOIN_OPERATORS 3.0 Uma máscara de bits SQLUINTEGER enumerando os operadores de junção relacional com suporte em uma instrução SELECT , conforme definido no SQL-92.

O nível de conformidade sql-92 ou FIPS no qual esse recurso deve ter suporte é mostrado entre parênteses ao lado de cada máscara de bits.

As máscaras de bits a seguir são usadas para determinar quais opções são compatíveis com a fonte de dados:
SQL_SRJO_CORRESPONDING_CLAUSE (nível intermediário)
SQL_SRJO_CROSS_JOIN (nível completo)
SQL_SRJO_EXCEPT_JOIN (nível intermediário)
SQL_SRJO_FULL_OUTER_JOIN (nível intermediário)
SQL_SRJO_INNER_JOIN (nível de transição do FIPS)
SQL_SRJO_INTERSECT_JOIN (nível intermediário)
SQL_SRJO_LEFT_OUTER_JOIN (nível de transição do FIPS)
SQL_SRJO_NATURAL_JOIN (nível de transição do FIPS)
SQL_SRJO_RIGHT_OUTER_JOIN (nível de transição do FIPS)
SQL_SRJO_UNION_JOIN (nível completo)

SQL_SRJO_INNER_JOIN indica suporte para a sintaxe INNER JOIN , não para a funcionalidade de junção interna. O suporte para a sintaxe INNER JOIN é FIPS TRANSITIONAL, enquanto o suporte para a funcionalidade de junção interna é ENTRY.
SQL_SQL92_REVOKE 3.0 Uma máscara de bits SQLUINTEGER enumerando as cláusulas com suporte na instrução REVOKE , conforme definido no SQL-92, compatível com a fonte de dados.

O nível de conformidade sql-92 ou FIPS no qual esse recurso deve ter suporte é mostrado entre parênteses ao lado de cada máscara de bits.

As máscaras de bits a seguir são usadas para determinar quais cláusulas têm suporte da fonte de dados:
SQL_SR_CASCADE (nível de transição do FIPS)
SQL_SR_DELETE_TABLE (Nível de entrada)
SQL_SR_GRANT_OPTION_FOR (nível intermediário)
SQL_SR_INSERT_COLUMN (nível intermediário)
SQL_SR_INSERT_TABLE (Nível de entrada)
SQL_SR_REFERENCES_COLUMN (Nível de entrada)
SQL_SR_REFERENCES_TABLE (Nível de entrada)
SQL_SR_RESTRICT (nível de transição do FIPS)
SQL_SR_SELECT_TABLE (Nível de entrada)
SQL_SR_UPDATE_COLUMN (Nível de entrada)
SQL_SR_UPDATE_TABLE (Nível de entrada)
SQL_SR_USAGE_ON_DOMAIN (nível de transição do FIPS)
SQL_SR_USAGE_ON_CHARACTER_SET (nível de transição do FIPS)
SQL_SR_USAGE_ON_COLLATION (nível de transição do FIPS)
SQL_SR_USAGE_ON_TRANSLATION (nível de transição do FIPS)
SQL_SQL92_ROW_VALUE_CONSTRUCTOR 3.0 Um bitmask SQLUINTEGER enumerando as expressões de construtor de valor de linha com suporte em uma instrução SELECT , conforme definido em SQL-92. As máscaras de bits a seguir são usadas para determinar quais opções são compatíveis com a fonte de dados:
SQL_SRVC_VALUE_EXPRESSION
SQL_SRVC_NULL
SQL_SRVC_DEFAULT
SQL_SRVC_ROW_SUBQUERY
SQL_SQL92_STRING_FUNCTIONS 3.0 Uma máscara de bits SQLUINTEGER enumerando as funções escalares de cadeia de caracteres compatíveis com o driver e a fonte de dados associada, conforme definido no SQL-92.

As máscaras de bits a seguir são usadas para determinar quais funções de cadeia de caracteres têm suporte:
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 Uma máscara de bits SQLUINTEGER enumerando as expressões de valor com suporte, conforme definido em SQL-92.

O nível de conformidade sql-92 ou FIPS no qual esse recurso deve ter suporte é mostrado entre parênteses ao lado de cada máscara de bits.

As máscaras de bits a seguir são usadas para determinar quais opções são compatíveis com a fonte de dados:
SQL_SVE_CASE (nível intermediário)
SQL_SVE_CAST (nível de transição do FIPS)
SQL_SVE_COALESCE (nível intermediário)
SQL_SVE_NULLIF (nível intermediário)
SQL_STANDARD_CLI_CONFORMANCE 3.0 Uma máscara de bits SQLUINTEGER enumerando o padrão ou os padrões da CLI aos quais o driver está em conformidade. As máscaras de bits a seguir são usadas para determinar com quais níveis o driver está em conformidade:
SQL_SCC_XOPEN_CLI_VERSION1: o driver está em conformidade com a CLI do Open Group versão 1.
SQL_SCC_ISO92_CLI: o driver está em conformidade com a CLI iso 92.
SQL_STATIC_CURSOR_ATTRIBUTES1 3.0 Uma máscara de bits SQLUINTEGER que descreve os atributos de um cursor estático com suporte do driver. Essa máscara de bits contém o primeiro subconjunto de atributos; para o segundo subconjunto, consulte SQL_STATIC_CURSOR_ATTRIBUTES2.

As máscaras de bits a seguir são usadas para determinar quais atributos têm suporte:
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

Para obter descrições dessas máscaras de bits, consulte SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (e substitua "cursor estático" por "cursor dinâmico" nas descrições).

Um driver compatível com o nível intermediário do SQL-92 geralmente retornará as opções SQL_CA1_NEXT, SQL_CA1_ABSOLUTE e SQL_CA1_RELATIVE conforme o suporte, pois o driver dá suporte a cursores roláveis por meio da instrução SQL FETCH inserida. Como isso não determina diretamente o suporte a SQL subjacente, no entanto, os cursores roláveis podem não ter suporte, mesmo para um driver de nível intermediário sql-92.
SQL_STATIC_CURSOR_ATTRIBUTES2 3.0 Uma máscara de bits SQLUINTEGER que descreve os atributos de um cursor estático com suporte do driver. Essa máscara de bits contém o segundo subconjunto de atributos; para o primeiro subconjunto, consulte SQL_STATIC_CURSOR_ATTRIBUTES1.

As máscaras de bits a seguir são usadas para determinar quais atributos têm suporte:
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

Para obter descrições dessas máscaras de bits, consulte SQL_DYNAMIC_CURSOR_ATTRIBUTES2 (e substitua "cursor estático" por "cursor dinâmico" nas descrições).
SQL_STRING_FUNCTIONS 1.0 Observação: o tipo de informação foi introduzido no ODBC 1.0; cada máscara de bits é rotulada com a versão em que foi introduzida.

Uma máscara de bits SQLUINTEGER enumerando as funções de cadeia de caracteres escalares compatíveis com o driver e a fonte de dados associada.

As máscaras de bits a seguir são usadas para determinar quais funções de cadeia de caracteres têm suporte:
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)

Se um aplicativo puder chamar a função escalar LOCATE com os argumentos string_exp1, string_exp2 e start , o driver retornará o SQL_FN_STR_LOCATE bitmask. Se um aplicativo puder chamar a função escalar LOCATE apenas com os argumentos string_exp1 e string_exp2 , o driver retornará a máscara de bits SQL_FN_STR_LOCATE_2. Os drivers que dão suporte total à função escalar LOCATE retornam as duas máscaras de bits.

(Para obter mais informações, consulte Funções de cadeia de caracteres no apêndice E, "Funções escalares".)
SQL_SUBQUERIES 2.0 Um bitmask SQLUINTEGER enumerando os predicados que dão suporte a subconsultas:
SQL_SQ_CORRELATED_SUBQUERIES
SQL_SQ_COMPARISON
SQL_SQ_EXISTS
SQL_SQ_INSQL_SQ_QUANTIFIED

O SQL_SQ_CORRELATED_SUBQUERIES bitmask indica que todos os predicados que dão suporte a subconsultas dão suporte a subconsultas correlacionadas.

Um driver compatível com o nível de entrada do SQL-92 sempre retornará uma máscara de bits na qual todos esses bits estão definidos.
SQL_SYSTEM_FUNCTIONS 1.0 Uma máscara de bits SQLUINTEGER enumerando as funções escalares do sistema compatíveis com o driver e a fonte de dados associada.

As máscaras de bits a seguir são usadas para determinar quais funções do sistema têm suporte:
SQL_FN_SYS_DBNAME
SQL_FN_SYS_IFNULL
SQL_FN_SYS_USERNAME
SQL_TABLE_TERM 1.0 Uma cadeia de caracteres com o nome do fornecedor da fonte de dados para uma tabela; por exemplo, "table" ou "file".

Essa cadeia de caracteres pode estar em letras maiúsculas, minúsculas ou mistas.

Um driver compatível com o nível de entrada do SQL-92 sempre retornará "table".
SQL_TIMEDATE_ADD_INTERVALS 2.0 Uma máscara de bits SQLUINTEGER enumerando os intervalos de carimbo de data/hora compatíveis com o driver e a fonte de dados associada para a função escalar TIMESTAMPADD.

As máscaras de bits a seguir são usadas para determinar quais intervalos têm suporte:
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

Um driver compatível com o nível de transição do FIPS sempre retornará uma máscara de bits na qual todos esses bits são definidos.
SQL_TIMEDATE_DIFF_INTERVALS 2.0 Uma máscara de bits SQLUINTEGER enumerando os intervalos de carimbo de data/hora compatíveis com o driver e a fonte de dados associada para a função escalar TIMESTAMPDIFF.

As máscaras de bits a seguir são usadas para determinar quais intervalos têm suporte:
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

Um driver compatível com o nível de transição do FIPS sempre retornará uma máscara de bits na qual todos esses bits são definidos.
SQL_TIMEDATE_FUNCTIONS 1.0 Observação: o tipo de informação foi introduzido no ODBC 1.0; cada máscara de bits é rotulada com a versão em que foi introduzida.

Uma máscara de bits SQLUINTEGER enumerando as funções escalares de data e hora compatíveis com o driver e a fonte de dados associada.

As máscaras de bits a seguir são usadas para determinar quais funções de data e hora têm suporte:
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 Observação: o tipo de informação foi introduzido no ODBC 1.0; cada valor retornado é rotulado com a versão em que foi introduzido.

Um valor SQLUSMALLINT que descreve o suporte à transação no driver ou na fonte de dados:
SQL_TC_NONE = Transações sem suporte. (ODBC 1.0)
SQL_TC_DML = Transações podem conter apenas instruções DML (Linguagem de Manipulação de Dados) (SELECT, INSERT, UPDATE, DELETE). Instruções DDL (Linguagem de Definição de Dados) encontradas em uma transação causam um erro. (ODBC 1.0)
SQL_TC_DDL_COMMIT = As transações podem conter apenas instruções DML. Instruções DDL (CREATE TABLE, DROP INDEX e assim por diante) encontradas em uma transação fazem com que a transação seja confirmada. (ODBC 2.0)
SQL_TC_DDL_IGNORE = Transações podem conter apenas instruções DML. Instruções DDL encontradas em uma transação são ignoradas. (ODBC 2.0)
SQL_TC_ALL = Transações podem conter instruções DDL e instruções DML em qualquer ordem. (ODBC 1.0)

(Como o suporte a transações é obrigatório no SQL-92, um driver compatível com SQL-92 [qualquer nível] nunca retornará SQL_TC_NONE.)
SQL_TXN_ISOLATION_OPTION 1.0 Uma máscara de bits SQLUINTEGER enumerando os níveis de isolamento de transação disponíveis no driver ou na fonte de dados.

As máscaras de bits a seguir são usadas junto com o sinalizador para determinar quais opções têm suporte:
SQL_TXN_READ_UNCOMMITTED
SQL_TXN_READ_COMMITTED
SQL_TXN_REPEATABLE_READ
SQL_TXN_SERIALIZABLE

Para obter descrições desses níveis de isolamento, consulte a descrição de SQL_DEFAULT_TXN_ISOLATION.

Para definir o nível de isolamento da transação, um aplicativo chama SQLSetConnectAttr para definir o atributo SQL_ATTR_TXN_ISOLATION. Para obter mais informações, consulte Função SQLSetConnectAttr.

Um driver compatível com o nível de entrada do SQL-92 sempre retornará SQL_TXN_SERIALIZABLE conforme o suporte. Um driver compatível com o nível de transição do FIPS sempre retornará todas essas opções conforme o suporte.
SQL_UNION 2.0 Um bitmask SQLUINTEGER enumerando o suporte para a cláusula UNION :
SQL_U_UNION = A fonte de dados dá suporte à cláusula UNION .
SQL_U_UNION_ALL = A fonte de dados dá suporte à palavra-chave ALL na cláusula UNION . (SQLGetInfo retorna SQL_U_UNION e SQL_U_UNION_ALL nesse caso.)

Um driver compatível com o nível de entrada do SQL-92 sempre retornará essas duas opções conforme o suporte.
SQL_USER_NAME 1.0 Uma cadeia de caracteres com o nome usado em um banco de dados específico, que pode ser diferente do nome de logon.
SQL_XOPEN_CLI_YEAR 3.0 Uma cadeia de caracteres que indica o ano de publicação da especificação Open Group com a qual a versão do Gerenciador de Driver ODBC está totalmente em conformidade.

Exemplo

SQLGetInfo retorna listas de opções com suporte como uma máscara de bits SQLUINTEGER em *InfoValuePtr. A máscara de bits para cada opção é usada junto com o sinalizador para determinar se a opção tem suporte.

Por exemplo, um aplicativo pode usar o código a seguir para determinar se a função escalar SUBSTRING é compatível com o driver associado à conexão.

Para obter outro exemplo de como usar SQLGetInfo, consulte Função SQLTables.

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  

Retornando a configuração de um atributo de conexão
Função SQLGetConnectAttr

Determinar se um driver dá suporte a uma função
Função SQLGetFunctions

Retornando a configuração de um atributo de instrução
Função SQLGetStmtAttr

Retornando informações sobre os tipos de dados de uma fonte de dados
Função SQLGetTypeInfo

Consulte Também

Referência de API do ODBC
Arquivos de cabeçalho ODBC