SQLGetInfo 함수

규칙
버전 소개: ODBC 1.0 표준 준수: ISO 92

요약
SQLGetInfo 는 연결과 연결된 드라이버 및 데이터 원본에 대한 일반 정보를 반환합니다.

구문

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

인수

ConnectionHandle
[Input] 연결 핸들입니다.

InfoType
[입력] 정보 유형입니다.

InfoValuePtr
[출력] 정보를 반환할 버퍼에 대한 포인터입니다. 요청된 InfoType 에 따라 반환되는 정보는 null로 끝나는 문자열, SQLUSMALLINT 값, SQLUINTEGER 비트 마스크, SQLUINTEGER 플래그, SQLUINTEGER 이진 값 또는 SQLULEN 값 중 하나입니다.

InfoType 인수가 SQL_DRIVER_HDESC 또는 SQL_DRIVER_HSTMT 경우 InfoValuePtr 인수는 입력 및 출력입니다. 자세한 내용은 이 함수 설명의 뒷부분에 있는 SQL_DRIVER_HDESC 또는 SQL_DRIVER_HSTMT 설명자를 참조하세요.

InfoValuePtr이 NULL인 경우 StringLengthPtr는 InfoValuePtr가 가리키는 버퍼에서 반환할 수 있는 총 바이트 수(문자 데이터의 null 종료 문자 제외)를 계속 반환합니다.

BufferLength
[입력] *InfoValuePtr 버퍼의 길이입니다. *InfoValuePtr값이 문자열이 아니거나 InfoValuePtr이 null 포인터인 경우 BufferLength 인수는 무시됩니다. 드라이버는 InfoType을 기반으로 *InfoValuePtr크기가 SQLUSMALLINT 또는 SQLUINTEGER라고 가정합니다. *InfoValuePtr이 유니코드 문자열인 경우(SQLGetInfoW를 호출할 때) BufferLength 인수는 짝수여야 합니다. 그렇지 않으면 SQLSTATE HY090(잘못된 문자열 또는 버퍼 길이)이 반환됩니다.

StringLengthPtr
[출력] *InfoValuePtr에서 반환할 수 있는 총 바이트 수(문자 데이터의 null 종료 문자 제외)를 반환할 버퍼에 대한 포인터입니다.

문자 데이터의 경우 반환할 수 있는 바이트 수가 BufferLength보다 크거나 같으면 *InfoValuePtr의 정보가 BufferLength 바이트로 잘려서 null 종료 문자의 길이를 뺀 값이며 드라이버에서 null로 종료됩니다.

다른 모든 데이터 형식의 경우 BufferLength 값이 무시되고 드라이버는 InfoType따라 *InfoValuePtr의 크기가 SQLUSMALLINT 또는 SQLUINTEGER라고 가정합니다.

반품

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR 또는 SQL_INVALID_HANDLE.

진단

SQLGetInfo가 SQL_ERROR 또는 SQL_SUCCESS_WITH_INFO 반환하는 경우 SQL_HANDLE_DBC HandleType ConnectionHandle 핸들을 사용하여 SQLGetDiagRec 를 호출하여 연결된 SQLSTATE 값을 가져올 수 있습니다. 다음 표에서는 일반적으로 SQLGetInfo에서 반환되는 SQLSTATE 값을 나열하고 이 함수의 컨텍스트에서 각 값을 설명합니다. 표기법 "(DM)"은 드라이버 관리자가 반환한 SQLSTATE에 대한 설명 앞에 나와 있습니다. 달리 명시되지 않는 한 각 SQLSTATE 값과 연결된 반환 코드는 SQL_ERROR.

SQLSTATE Error 설명
01000 일반 경고 드라이버 관련 정보 메시지입니다. 함수는 SQL_SUCCESS_WITH_INFO 반환합니다.
01004 문자열 데이터, 오른쪽 잘림 버퍼 *InfoValuePtr 이 요청된 모든 정보를 반환할 만큼 크지 않았습니다. 따라서 정보가 잘렸습니다. 신뢰할 수 없는 형식의 요청된 정보의 길이는 *StringLengthPtr에서 반환됩니다. 함수는 SQL_SUCCESS_WITH_INFO 반환합니다.
08003 연결이 열리지 않음 (DM) InfoType에서 요청된 정보 유형에 열려 있는 연결이 필요합니다. ODBC에서 예약한 정보 유형 중 열린 연결 없이는 SQL_ODBC_VER만 반환할 수 있습니다.
08S01 통신 링크 실패 드라이버와 드라이버가 연결된 데이터 원본 간의 통신 링크는 함수가 처리를 완료하기 전에 실패했습니다.
HY000 일반 오류 특정 SQLSTATE가 없고 구현별 SQLSTATE가 정의되지 않은 오류가 발생했습니다. *MessageText 버퍼의 SQLGetDiagRec에서 반환된 오류 메시지는 오류와 그 원인을 설명합니다.
HY001 메모리 할당 오류 드라이버가 함수 실행 또는 완료를 지원하는 데 필요한 메모리를 할당할 수 없습니다.
HY010 함수 시퀀스 오류 (DM) SQLExecute, SQLExecDirect 또는 SQLMoreResults가 StatementHandle에 대해 호출되고 SQL_PARAM_DATA_AVAILABLE 반환되었습니다. 이 함수는 모든 스트리밍된 매개 변수에 대해 데이터를 검색하기 전에 호출되었습니다.
HY013 메모리 관리 오류 메모리 조건이 낮기 때문에 기본 메모리 개체에 액세스할 수 없기 때문에 함수 호출을 처리할 수 없습니다.
HY024 잘못된 특성 값 (DM) InfoType 인수가 SQL_DRIVER_HSTMT InfoValuePtr에서 가리키는 값이 유효한 문 핸들이 아닙니다.

(DM) InfoType 인수가 SQL_DRIVER_HDESC InfoValuePtr에서 가리키는 값이 유효한 설명자 핸들이 아닙니다.
HY090 잘못된 문자열 또는 버퍼 길이 (DM) BufferLength 인수에 지정된 값이 0보다 작습니다.

(DM) BufferLength에 지정된 값이 홀수이고 *InfoValuePtr이 유니코드 데이터 형식이었습니다.
HY096 정보 유형이 범위를 벗어났습니다. InfoType 인수에 지정된 값이 드라이버에서 지원하는 ODBC 버전에 대해 유효하지 않습니다.
HY117 알 수 없는 트랜잭션 상태로 인해 연결이 일시 중단됩니다. 연결 끊기 및 읽기 전용 함수만 허용됩니다. (DM) 일시 중단 상태에 대한 자세한 내용은 SQLEndTran 함수를 참조 하세요.
HYC00 선택적 필드가 구현되지 않음 InfoType 인수에 지정된 값은 드라이버에서 지원하지 않는 드라이버별 값입니다.
HYT01 연결 제한 시간이 만료됨 데이터 원본이 요청에 응답하기 전에 연결 제한 시간이 만료되었습니다. 연결 제한 시간은 SQL_ATTR_CONNECTION_TIMEOUT SQLSetConnectAttr를 통해 설정됩니다.
IM001 드라이버는 이 함수를 지원하지 않습니다. (DM) ConnectionHandle해당하는 드라이버는 함수를 지원하지 않습니다.

주석

현재 정의된 정보 유형은 이 섹션의 뒷부분에 있는 "정보 유형"에 나와 있습니다. 다른 데이터 원본을 활용하기 위해 더 많은 것이 정의될 것으로 예상됩니다. 다양한 정보 유형이 ODBC에서 예약됩니다. 드라이버 개발자는 Open Group에서 드라이버 관련 용도로 값을 예약해야 합니다. SQLGetInfo는 드라이버 정의 InfoTypes에 대해 유니코드 변환 또는 unking을 수행하지 않습니다(부록 A: ODBC 프로그래머 참조의 ODBC 오류 코드참조). 자세한 내용은 드라이버별 데이터 형식, 설명자 형식, 정보 형식, 진단 형식 및 특성을 참조 하세요. *InfoValuePtr에서 반환되는 정보의 형식은 요청된 InfoType따라 달라집니다. SQLGetInfo 는 5가지 형식 중 하나로 정보를 반환합니다.

  • null로 끝나는 문자열

  • SQLUSMALLINT 값

  • SQLUINTEGER 비트 마스크

  • SQLUINTEGER 값

  • SQLUINTEGER 이진 값

다음 각 정보 형식의 형식은 형식의 설명에 나와 있습니다. 애플리케이션은 그에 따라 *InfoValuePtr 에서 반환된 값을 캐스팅해야 합니다. 애플리케이션이 SQLUINTEGER 비트 마스크에서 데이터를 검색하는 방법의 예는 "코드 예제"를 참조하세요.

드라이버는 다음 표에 정의된 각 정보 유형에 대한 값을 반환해야 합니다. 드라이버 또는 데이터 원본에 정보 형식이 적용되지 않으면 드라이버는 다음 표에 나열된 값 중 하나를 반환합니다.

정보 유형
문자열("Y" 또는 "N") "N"
문자열("Y" 또는 "N"이 아님) 빈 문자열
SQLUSMALLINT 0
SQLUINTEGER 비트 마스크 또는 SQLUINTEGER 이진 값 0L

예를 들어 데이터 원본이 프로시저를 지원하지 않는 경우 SQLGetInfo는 프로시저와 관련된 InfoType 값에 대해 다음 표에 나열된 값을 반환합니다.

InfoType
SQL_PROCEDURES "N"
SQL_ACCESSIBLE_PROCEDURES "N"
SQL_MAX_PROCEDURE_NAME_LEN 0
SQL_PROCEDURE_TERM 빈 문자열

SQLGetInfo는 ODBC에서 사용하도록 예약된 정보 형식 범위에 있지만 드라이버에서 지원하는 ODBC 버전에서 정의되지 않은 InfoType에 대해 SQLSTATE HY096(잘못된 인수 값)을 반환합니다. 드라이버가 준수하는 ODBC 버전을 확인하기 위해 애플리케이션은 SQL_DRIVER_ODBC_VER 정보 유형을 사용하여 SQLGetInfo를 호출합니다. SQLGetInfo는 드라이버 관련 용도로 예약되었지만 드라이버에서 지원하지 않는 정보 유형 범위에 있는 InfoType에 대해 SQLSTATE HYC00(선택적 기능이 구현되지 않음)을 반환합니다.

INFOTypeSQL_ODBC_VER 경우를 제외하고 SQLGetInfo에 대한 모든 호출에는 열려 있는 연결이 필요하며 드라이버 관리자의 버전을 반환합니다.

정보 유형

이 섹션에서는 SQLGetInfo에서 지원하는 정보 유형을 나열합니다. 정보 유형은 범주별로 그룹화되고 사전순으로 나열됩니다. ODBC 3*.x*에 대해 추가되거나 이름이 변경된 정보 유형도 나열됩니다.

드라이버 정보

InfoType 인수의 다음 값은 활성 문 수, 데이터 원본 이름 및 인터페이스 표준 준수 수준과 같은 ODBC 드라이버에 대한 정보를 반환합니다.

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

참고 항목

SQLGetInfo를 구현할 때 드라이버는 서버에서 정보를 보내거나 요청하는 횟수를 최소화하여 성능을 향상시킬 수 있습니다.

DBMS 제품 정보

InfoType 인수의 다음 값은 DBMS 이름 및 버전과 같은 DBMS 제품에 대한 정보를 반환합니다.

SQL_DATABASE_NAME
SQL_DBMS_NAME

SQL_DBMS_VER

데이터 원본 정보

InfoType 인수의 다음 값은 커서 특성 및 트랜잭션 기능과 같은 데이터 원본에 대한 정보를 반환합니다.

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

InfoType 인수의 다음 값은 데이터 원본에서 지원하는 SQL 문에 대한 정보를 반환합니다. 이러한 정보 유형에서 설명하는 각 기능의 SQL 구문은 SQL-92 구문입니다. 이러한 정보 유형은 전체 SQL-92 문법을 완전히 설명하지 않습니다. 대신 데이터 원본이 일반적으로 다양한 수준의 지원을 제공하는 문법의 해당 부분을 설명합니다. 특히 SQL-92의 DDL 문 대부분은 다룹니다.

애플리케이션은 SQL_SQL_CONFORMANCE 정보 유형에서 지원되는 문법의 일반 수준을 결정하고 다른 정보 유형을 사용하여 명시된 표준 준수 수준에서 변형을 결정해야 합니다.

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

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

SQL 제한

InfoType 인수의 다음 값은 SQL 문의 식별자 및 절에 적용되는 제한(예: 식별자의 최대 길이 및 선택 목록의 최대 열 수)에 대한 정보를 반환합니다. 제한 사항은 드라이버 또는 데이터 원본에서 적용할 수 있습니다.

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

스칼라 함수 정보

InfoType 인수의 다음 값은 데이터 원본 및 드라이버에서 지원하는 스칼라 함수에 대한 정보를 반환합니다. 스칼라 함수에 대한 자세한 내용은 부록 E: 스칼라 함수를 참조 하세요.

SQL_CONVERT_FUNCTIONS
SQL_NUMERIC_FUNCTIONS
SQL_STRING_FUNCTIONS
SQL_SYSTEM_FUNCTIONS

SQL_TIMEDATE_ADD_INTERVALS
SQL_TIMEDATE_DIFF_INTERVALS
SQL_TIMEDATE_FUNCTIONS

변환 정보

InfoType 인수의 다음 값은 데이터 원본이 CONVERT 스칼라 함수를 사용하여 지정된 SQL 데이터 형식을 변환할 수 있는 SQL 데이터 형식 목록을 반환합니다.

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

ODBC 3.x에 대해 추가된 정보 유형

ODBC 3.x에 대해 InfoType 인수의 다음 값이 추가되었습니다.

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

ODBC 3.x에 대해 이름이 바뀐 정보 형식

InfoType 인수의 다음 값은 ODBC 3.x에 대해 이름이 바뀌었습니다.

이전 이름 새 이름
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

ODBC 3.x에서 사용되지 않는 정보 유형

InfoType 인수의 다음 값은 ODBC 3.x에서 더 이상 사용되지 않습니다. ODBC 3.x 드라이버는 ODBC 2.x 애플리케이션과의 이전 버전과의 호환성을 위해 이러한 정보 유형을 계속 지원해야 합니다. (이러한 형식에 대한 자세한 내용은 다음을 참조하세요 .부록 G의 SQLGetInfo 지원 : 이전 버전과의 호환성을 위한 드라이버 지침입니다.)

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

정보 유형 설명

다음 표에는 각 정보 유형, 도입된 ODBC 버전 및 해당 설명이 사전순으로 나열되어 있습니다.

정보 유형 ODBC 버전 설명
SQL_ACCESSIBLE_PROCEDURES 1.0 문자열: 사용자가 SQLProcedures에서 반환된 모든 프로시저를 실행할 수 있는 경우 "Y"입니다. 사용자가 실행할 수 없는 프로시저가 반환될 수 있는 경우 "N"입니다.
SQL_ACCESSIBLE_TABLES 1.0 문자열: 사용자가 SQLTable에서 반환하는 모든 테이블에 대한 SELECT 권한이 보장되면 "Y"입니다. 사용자가 액세스할 수 없는 테이블이 반환될 수 있는 경우 "N"입니다.
SQL_ACTIVE_ENVIRONMENTS 3.0 드라이버에서 지원할 수 있는 활성 환경의 최대 수를 지정하는 SQLUSMALLINT 값입니다. 지정된 제한이 없거나 제한을 알 수 없는 경우 이 값은 0으로 설정됩니다.
SQL_AGGREGATE_FUNCTIONS 3.0 집계 함수에 대한 지원을 열거하는 SQLUINTEGER 비트 마스크:
SQL_AF_ALL
SQL_AF_AVG
SQL_AF_COUNT
SQL_AF_DISTINCT
SQL_AF_MAX
SQL_AF_MIN
SQL_AF_SUM

SQL-92 항목 수준 준수 드라이버는 항상 지원되는 대로 이러한 모든 옵션을 반환합니다.
SQL_ALTER_DOMAIN 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 ALTER DOMAIN 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다. SQL-92 전체 수준 규격 드라이버는 항상 모든 비트 마스크를 반환합니다. 반환 값 "0"은 ALTER DOMAIN 문이 지원되지 않음을 의미합니다.

이 기능을 지원해야 하는 SQL-92 또는 FIPS 규칙 수준은 각 비트 마스크 옆에 괄호로 표시됩니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_AD_ADD_DOMAIN_CONSTRAINT = 도메인 제약 조건 추가가 지원됩니다(전체 수준).
SQL_AD_ADD_DOMAIN_DEFAULT = <도메인><집합 도메인 기본 절> 변경이 지원됨(전체 수준)
SQL_AD_CONSTRAINT_NAME_DEFINITION = <제약 조건 이름 정의 절> 은 도메인 제약 조건 명명(중간 수준)에 대해 지원됩니다.
SQL_AD_DROP_DOMAIN_CONSTRAINT = <drop 도메인 제약 조건 절> 이 지원됨(전체 수준)
SQL_AD_DROP_DOMAIN_DEFAULT = <도메인 삭제 도메인><기본 절> 변경이 지원됨(전체 수준)

다음 비트는 도메인 제약 조건 추가가 지원되는 경우 지원되는 <제약 조건> 특성을> 지정합니다(SQL_AD_ADD_DOMAIN_CONSTRAINT 비트가 설정됨<).
SQL_AD_ADD_CONSTRAINT_DEFERRABLE(전체 수준)
SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE(전체 수준)
SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED(전체 수준)
SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE(전체 수준)
SQL_ALTER_TABLE 2.0 데이터 원본에서 지원하는 ALTER TABLE 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

이 기능을 지원해야 하는 SQL-92 또는 FIPS 규칙 수준은 각 비트 마스크 옆에 괄호로 표시됩니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_AT_ADD_COLUMN_COLLATION = <열> 추가 절이 지원되며 열 데이터 정렬을 지정하는 기능(전체 수준)(ODBC 3.0)
SQL_AT_ADD_COLUMN_DEFAULT = <열> 추가 절이 지원되며 열 기본값을 지정하는 기능(FIPS 전환 수준)(ODBC 3.0)
SQL_AT_ADD_COLUMN_SINGLE = <열> 추가가 지원됨(FIPS 전환 수준)(ODBC 3.0)
SQL_AT_ADD_CONSTRAINT = <열> 절 추가가 지원되며 열 제약 조건 지정 기능(FIPS 전환 수준)(ODBC 3.0)
SQL_AT_ADD_TABLE_CONSTRAINT = <테이블 제약 조건> 추가 절이 지원됩니다(FIPS 전환 수준)(ODBC 3.0)
SQL_AT_CONSTRAINT_NAME_DEFINITION = <제약 조건 이름 정의> 는 열 및 테이블 제약 조건 명명(중간 수준)(ODBC 3.0)에 대해 지원됩니다.
SQL_AT_DROP_COLUMN_CASCADE = <CASCADE 드롭 열> 이 지원됩니다(FIPS 전환 수준)(ODBC 3.0)
SQL_AT_DROP_COLUMN_DEFAULT = <열 삭제 열><기본 절> 변경이 지원됩니다(중간 수준)(ODBC 3.0)
SQL_AT_DROP_COLUMN_RESTRICT = <DROP 열> RESTRICT가 지원됩니다(FIPS 전환 수준)(ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE(ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = <DROP 열> RESTRICT가 지원됩니다(FIPS 전환 수준)(ODBC 3.0)
SQL_AT_SET_COLUMN_DEFAULT = <열 집합 열><기본 절> 변경이 지원됨(중간 수준)(ODBC 3.0)

다음 비트는 열 또는 테이블 제약 조건을 지정하는 것이 지원되는 경우 지원 <제약 조건 특성을> 지정합니다(SQL_AT_ADD_CONSTRAINT 비트가 설정됨).
SQL_AT_CONSTRAINT_INITIALLY_DEFERRED(전체 수준)(ODBC 3.0)
SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE(전체 수준)(ODBC 3.0)
SQL_AT_CONSTRAINT_DEFERRABLE(전체 수준)(ODBC 3.0)
SQL_AT_CONSTRAINT_NON_DEFERRABLE(전체 수준)(ODBC 3.0)
SQL_ASYNC_DBC_FUNCTIONS 3.8 드라이버가 연결 핸들에서 함수를 비동기적으로 실행할 수 있는지를 나타내는 SQLUINTEGER 값입니다.

SQL_ASYNC_DBC_CAPABLE = 드라이버는 연결 함수를 비동기적으로 실행할 수 있습니다.
SQL_ASYNC_DBC_NOT_CAPABLE = 드라이버가 연결 함수를 비동기적으로 실행할 수 없습니다.
SQL_ASYNC_MODE 3.0 드라이버의 비동기 지원 수준을 나타내는 SQLUINTEGER 값입니다.

SQL_AM_CONNECTION = 연결 수준 비동기 실행이 지원됩니다. 지정된 연결 핸들과 연결된 모든 문 핸들이 비동기 모드이거나 모두 동기 모드입니다. 연결의 문 핸들은 비동기 모드일 수 없으며 동일한 연결의 다른 문 핸들은 동기 모드이고 그 반대의 경우도 마찬가지입니다.
SQL_AM_STATEMENT = 문 수준 비동기 실행이 지원됩니다. 연결 핸들과 연결된 일부 문 핸들은 비동기 모드일 수 있지만 동일한 연결의 다른 문 핸들은 동기 모드입니다.
SQL_AM_NONE = 비동기 모드는 지원되지 않습니다.
SQL_ASYNC_NOTIFICATION 3.8 드라이버가 비동기 알림을 지원하는지 나타내는 SQLUINTEGER 값입니다.

SQL_ASYNC_NOTIFICATION_CAPABLE = 드라이버에서 비동기 실행 알림이 지원됩니다.
SQL_ASYNC_NOTIFICATION_NOT_CAPABLE = 드라이버에서 비동기 실행 알림이 지원되지 않습니다.

ODBC 비동기 작업에는 연결 수준 비동기 작업과 문 수준 비동기 작업의 두 가지 범주가 있습니다. 드라이버가 SQL_ASYNC_NOTIFICATION_CAPABLE 반환하는 경우 비동기적으로 실행할 수 있는 모든 API에 대한 알림을 지원해야 합니다.
SQL_BATCH_ROW_COUNT 3.0 행 개수의 가용성과 관련하여 드라이버의 동작을 열거하는 SQLUINTEGER 비트 마스크입니다. 다음 비트 마스크는 정보 유형과 함께 사용됩니다.

SQL_BRC_ROLLED_UP = 연속 INSERT, DELETE 또는 UPDATE 문의 행 수가 하나로 롤업됩니다. 이 비트를 설정하지 않으면 각 문에 대해 행 수를 사용할 수 있습니다.
SQL_BRC_PROCEDURES = 저장 프로시저에서 일괄 처리가 실행될 때 행 개수(있는 경우)를 사용할 수 있습니다. 행 수를 사용할 수 있는 경우 SQL_BRC_ROLLED_UP 비트에 따라 롤업하거나 개별적으로 사용할 수 있습니다.
SQL_BRC_EXPLICIT = SQLExecute 또는 SQLExecDirect를 호출하여 일괄 처리가 직접 실행될 때 행 개수(있는 경우)를 사용할 수 있습니다. 행 수를 사용할 수 있는 경우 SQL_BRC_ROLLED_UP 비트에 따라 롤업하거나 개별적으로 사용할 수 있습니다.
SQL_BATCH_SUPPORT 3.0 일괄 처리에 대한 드라이버 지원을 열거하는 SQLUINTEGER 비트 마스크입니다. 다음 비트 마스크는 지원되는 수준을 결정하는 데 사용됩니다.

SQL_BS_SELECT_EXPLICIT = 드라이버는 결과 집합 생성 문을 가질 수 있는 명시적 일괄 처리를 지원합니다.
SQL_BS_ROW_COUNT_EXPLICIT = 드라이버는 행 개수 생성 문을 포함할 수 있는 명시적 일괄 처리를 지원합니다.
SQL_BS_SELECT_PROC = 드라이버는 결과 집합 생성 문을 가질 수 있는 명시적 프로시저를 지원합니다.
SQL_BS_ROW_COUNT_PROC = 드라이버는 행 개수 생성 문을 포함할 수 있는 명시적 프로시저를 지원합니다.
SQL_BOOKMARK_PERSISTENCE 2.0 책갈피가 지속되는 작업을 열거하는 SQLUINTEGER 비트 마스크입니다. 다음 비트 마스크는 플래그와 함께 사용하여 책갈피가 유지되는 옵션을 결정합니다.

SQL_BP_CLOSE = 애플리케이션이 SQL_CLOSE 옵션을 사용하여 SQLFreeStmt를 호출하거나 SQLCloseCursor를 호출하여 문과 연결된 커서를 닫은 후 책갈피가 유효합니다.
SQL_BP_DELETE = 행이 삭제된 후 행의 책갈피가 유효합니다.
SQL_BP_DROP = 애플리케이션이 SQL_HANDLE_STMT HandleType을 사용하여 SQLFreeHandle호출하여 문을 삭제한 후 책갈피가 유효합니다.
SQL_BP_TRANSACTION = 책갈피는 애플리케이션이 트랜잭션을 커밋하거나 롤백한 후에 유효합니다.
SQL_BP_UPDATE = 키 열을 포함하여 해당 행의 모든 열이 업데이트된 후 행의 책갈피가 유효합니다.
SQL_BP_OTHER_HSTMT = 한 문과 연결된 책갈피를 다른 문과 함께 사용할 수 있습니다. SQL_BP_CLOSE 또는 SQL_BP_DROP 지정하지 않으면 첫 번째 문의 커서가 열려 있어야 합니다.
SQL_CATALOG_LOCATION 2.0 정규화된 테이블 이름에서 카탈로그의 위치를 나타내는 SQLUSMALLINT 값입니다.

SQL_CL_START
SQL_CL_END
예를 들어 디렉터리(카탈로그) 이름이 \EMPDATA\EMP와 같이 테이블 이름의 시작 부분에 있으므로 Xbase 드라이버는 SQL_CL_START 반환합니다. Dbf. ORACLE Server 드라이버는 카탈로그가 ADMIN과 같이 테이블 이름의 끝에 있으므로 SQL_CL_END 반환합니다. EMP@EMPDATA.

SQL-92 전체 수준 준수 드라이버는 항상 SQL_CL_START 반환합니다. 데이터 원본에서 카탈로그를 지원하지 않는 경우 값 0이 반환됩니다. 카탈로그가 지원되는지 여부를 확인하기 위해 애플리케이션은 SQL_CATALOG_NAME 정보 유형을 사용하여 SQLGetInfo를 호출합니다.

InfoType은 ODBC 2.0 InfoType SQL_QUALIFIER_LOCATION ODBC 3.0의 이름이 바뀌었습니다.
SQL_CATALOG_NAME 3.0 문자열: 서버에서 카탈로그 이름을 지원하는 경우 "Y"이고, 그렇지 않으면 "N"입니다.

SQL-92 전체 수준 준수 드라이버는 항상 "Y"를 반환합니다.
SQL_CATALOG_NAME_SEPARATOR 1.0 문자열: 데이터 원본이 카탈로그 이름과 그 뒤 또는 그 앞에 오는 정규화된 이름 요소 사이의 구분 기호로 정의하는 문자 또는 문자입니다.

데이터 원본에서 카탈로그를 지원하지 않는 경우 빈 문자열이 반환됩니다. 카탈로그가 지원되는지 여부를 확인하기 위해 애플리케이션은 SQL_CATALOG_NAME 정보 유형을 사용하여 SQLGetInfo를 호출합니다. SQL-92 전체 수준 준수 드라이버는 항상 ""를 반환합니다.

InfoType은 ODBC 2.0 InfoType SQL_QUALIFIER_NAME_SEPARATOR ODBC 3.0의 이름이 바뀌었습니다.
SQL_CATALOG_TERM 1.0 카탈로그에 대한 데이터 원본 공급업체의 이름을 가진 문자열입니다. 예를 들어 "database" 또는 "directory"입니다. 이 문자열은 대/소문자, 아래쪽 또는 혼합된 대/소문자일 수 있습니다.

데이터 원본에서 카탈로그를 지원하지 않는 경우 빈 문자열이 반환됩니다. 카탈로그가 지원되는지 여부를 확인하기 위해 애플리케이션은 SQL_CATALOG_NAME 정보 유형을 사용하여 SQLGetInfo를 호출합니다. SQL-92 전체 수준 준수 드라이버는 항상 "카탈로그"를 반환합니다.

InfoType은 ODBC 2.0 InfoType SQL_QUALIFIER_TERM ODBC 3.0의 이름이 바뀌었습니다.
SQL_CATALOG_USAGE 2.0 카탈로그를 사용할 수 있는 문을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 카탈로그를 사용할 수 있는 위치를 결정하는 데 사용됩니다.
SQL_CU_DML_STATEMENTS = 카탈로그는 SELECT, INSERT, UPDATE, DELETE 등의 모든 데이터 조작 언어 문에서 지원되며, 지원되는 경우 SELECT FOR UPDATE 및 배치된 업데이트 및 삭제 문입니다.
SQL_CU_PROCEDURE_INVOCATION = 카탈로그는 ODBC 프로시저 호출 문에서 지원됩니다.
SQL_CU_TABLE_DEFINITION = 카탈로그는 CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE 및 DROP VIEW같은 모든 테이블 정의 문에서 지원됩니다.
SQL_CU_INDEX_DEFINITION = 카탈로그는 CREATE INDEX 및 DROP INDEX같은 모든 인덱정의 문에서 지원됩니다.
SQL_CU_PRIVILEGE_DEFINITION = 카탈로그는 GRANT 및 REVOKE모든 권한 정의 문에서 지원됩니다.

데이터 원본에서 카탈로그를 지원하지 않는 경우 값 0이 반환됩니다. 카탈로그가 지원되는지 여부를 확인하기 위해 애플리케이션은 SQL_CATALOG_NAME 정보 유형을 사용하여 SQLGetInfo를 호출합니다. SQL-92 전체 수준 준수 드라이버는 항상 이러한 모든 비트가 설정된 비트 마스크를 반환합니다.

InfoType은 ODBC 2.0 InfoType SQL_QUALIFIER_USAGE ODBC 3.0의 이름이 바뀌었습니다.
SQL_COLLATION_SEQ 3.0 데이터 정렬 시퀀스의 이름입니다. 이 문자열은 이 서버의 기본 문자 집합(예: 'ISO 8859-1' 또는 EBCDIC)의 기본 데이터 정렬 이름을 나타내는 문자열입니다. 알 수 없는 경우 빈 문자열이 반환됩니다. SQL-92 전체 수준 준수 드라이버는 항상 비어있지 않은 문자열을 반환합니다.
SQL_COLUMN_ALIAS 2.0 문자열: 데이터 원본에서 열 별칭을 지원하는 경우 "Y"입니다. 그렇지 않으면 "N"입니다.

열 별칭은 AS 절을 사용하여 선택 목록의 열에 대해 지정할 수 있는 대체 이름입니다. SQL-92 엔트리 수준 준수 드라이버는 항상 "Y"를 반환합니다.
SQL_CONCAT_NULL_BEHAVIOR 1.0 데이터 원본이 NULL 값이 아닌 문자 데이터 형식 열과 NULL 반환 문자 데이터 형식 열의 연결을 처리하는 방법을 나타내는 SQLUSMALLINT 값입니다.
SQL_CB_NULL = 결과는 NULL 값입니다.
SQL_CB_NON_NULL = 결과는 NULL이 아닌 값 열 또는 열의 연결입니다.

SQL-92 엔트리 수준 준수 드라이버는 항상 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 SQLUINTEGER 비트 마스크입니다. 비트 마스크는 InfoType에 명명된 형식의 데이터에 대한 CONVERT 스칼라 함수를 사용하여 데이터 원본에서 지원하는 변환을 나타냅니다. 비트 마스크가 0이면 데이터 원본은 동일한 데이터 형식으로의 변환을 포함하여 명명된 형식의 데이터에서의 변환을 지원하지 않습니다.

예를 들어 데이터 원본이 SQL_INTEGER 데이터를 SQL_BIGINT 데이터 형식으로의 변환을 지원하는지 확인하기 위해 애플리케이션은 SQL_CONVERT_INTEGER InfoType을 사용하여 SQLGetInfo를 호출합니다. 애플리케이션은 반환된 비트 마스크 및 SQL_CVT_BIGINT 사용하여 AND 작업을 수행합니다. 결과 값이 0이 아니면 변환이 지원됩니다.

다음 비트 마스크는 지원되는 변환을 결정하는 데 사용됩니다.
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 드라이버 및 관련 데이터 원본에서 지원하는 스칼라 변환 함수를 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 변환 함수를 결정하는 데 사용됩니다.
SQL_FN_CVT_CASTSQL_FN_CVT_CONVERT
SQL_CORRELATION_NAME 1.0 테이블 상관 관계 이름이 지원되는지 여부를 나타내는 SQLUSMALLINT 값입니다.
SQL_CN_NONE = 상관 관계 이름은 지원되지 않습니다.
SQL_CN_DIFFERENT = 상관 관계 이름이 지원되지만 나타내는 테이블의 이름과 달라야 합니다.
SQL_CN_ANY = 상관 관계 이름이 지원되며 유효한 사용자 정의 이름이 될 수 있습니다.

SQL-92 항목 수준 준수 드라이버는 항상 SQL_CN_ANY 반환합니다.
SQL_CREATE_ASSERTION 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 CREATE ASSERTION 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_CA_CREATE_ASSERTION

다음 비트는 제약 조건 특성을 명시적으로 지정하는 기능이 지원되는 경우 지원되는 제약 조건 특성을 지정합니다(SQL_ALTER_TABLE 및 SQL_CREATE_TABLE 정보 유형 참조).
SQL_CA_CONSTRAINT_INITIALLY_DEFERRED
SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE
SQL_CA_CONSTRAINT_DEFERRABLE
SQL_CA_CONSTRAINT_NON_DEFERRABLE

SQL-92 전체 수준 준수 드라이버는 항상 지원되는 모든 옵션을 반환합니다. 반환 값 "0"은 CREATE ASSERTION 문이 지원되지 않음을 의미합니다.
SQL_CREATE_CHARACTER_SET 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 CREATE CHARACTER SET 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_CCS_CREATE_CHARACTER_SET
SQL_CCS_COLLATE_CLAUSE
SQL_CCS_LIMITED_COLLATION

SQL-92 전체 수준 준수 드라이버는 항상 지원되는 모든 옵션을 반환합니다. 반환 값 "0"은 CREATE CHARACTER SET 문이 지원되지 않음을 의미합니다.
SQL_CREATE_COLLATION 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 CREATE COLLATION 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_CCOL_CREATE_COLLATION

SQL-92 전체 수준 준수 드라이버는 항상 지원되는 대로 이 옵션을 반환합니다. 반환 값 "0"은 CREATE COLLATION 문이 지원되지 않음을 의미합니다.
SQL_CREATE_DOMAIN 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 CREATE DOMAIN 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_CDO_CREATE_DOMAIN = CREATE DOMAIN 문이 지원됩니다(중간 수준).
SQL_CDO_CONSTRAINT_NAME_DEFINITION = <제약 조건 이름 정의> 는 도메인 제약 조건 이름 지정(중간 수준)에 대해 지원됩니다.

다음 비트는 열 제약 조건을 만드는 기능을 지정합니다.
SQL_CDO_DEFAULT = 도메인 제약 조건 지정이 지원됩니다(중간 수준)
SQL_CDO_CONSTRAINT = 도메인 기본값 지정이 지원됩니다(중간 수준).
SQL_CDO_COLLATION = 도메인 데이터 정렬 지정이 지원됨(전체 수준)

다음 비트는 도메인 제약 조건 지정이 지원되는 경우 지원되는 제약 조건 특성을 지정합니다(SQL_CDO_DEFAULT 설정됨).
SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED(전체 수준)
SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE(전체 수준)
SQL_CDO_CONSTRAINT_DEFERRABLE(전체 수준)
SQL_CDO_CONSTRAINT_NON_DEFERRABLE(전체 수준)

반환 값 "0"은 CREATE DOMAIN 문이 지원되지 않음을 의미합니다.
SQL_CREATE_SCHEMA 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 CREATE SCHEMA 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_CS_CREATE_SCHEMA
SQL_CS_AUTHORIZATION
SQL_CS_DEFAULT_CHARACTER_SET

SQL-92 중간 수준 준수 드라이버는 항상 지원되는 SQL_CS_CREATE_SCHEMA 및 SQL_CS_AUTHORIZATION 옵션을 반환합니다. SQL-92 항목 수준에서도 지원되어야 하지만 반드시 SQL 문으로 지원되는 것은 아닙니다. SQL-92 전체 수준 준수 드라이버는 항상 지원되는 모든 옵션을 반환합니다.
SQL_CREATE_TABLE 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 CREATE TABLE 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

이 기능을 지원해야 하는 SQL-92 또는 FIPS 규칙 수준은 각 비트 마스크 옆에 괄호로 표시됩니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_CT_CREATE_TABLE = CREATE TABLE 문이 지원됩니다. (항목 수준)
SQL_CT_TABLE_CONSTRAINT = 테이블 제약 조건 지정이 지원됩니다(FIPS 전환 수준)
SQL_CT_CONSTRAINT_NAME_DEFINITION = <제약 조건 이름 정의> 절은 열 및 테이블 제약 조건 이름 지정(중간 수준)에 대해 지원됩니다.

다음 비트는 임시 테이블을 만드는 기능을 지정합니다.
SQL_CT_COMMIT_PRESERVE = 삭제된 행은 커밋할 때 유지됩니다. (전체 수준)
SQL_CT_COMMIT_DELETE = 커밋할 때 삭제된 행이 삭제됩니다. (전체 수준)
SQL_CT_GLOBAL_TEMPORARY = 전역 임시 테이블을 만들 수 있습니다. (전체 수준)
SQL_CT_LOCAL_TEMPORARY = 로컬 임시 테이블을 만들 수 있습니다. (전체 수준)

다음 비트는 열 제약 조건을 만드는 기능을 지정합니다.
SQL_CT_COLUMN_CONSTRAINT = 열 제약 조건 지정이 지원됩니다(FIPS 전환 수준)
SQL_CT_COLUMN_DEFAULT = 열 기본값 지정이 지원됩니다(FIPS 전환 수준)
SQL_CT_COLUMN_COLLATION = 열 데이터 정렬 지정이 지원됨(전체 수준)

다음 비트는 열 또는 테이블 제약 조건을 지정하는 것이 지원되는 경우 지원되는 제약 조건 특성을 지정합니다.
SQL_CT_CONSTRAINT_INITIALLY_DEFERRED(전체 수준)
SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE(전체 수준)
SQL_CT_CONSTRAINT_DEFERRABLE(전체 수준)
SQL_CT_CONSTRAINT_NON_DEFERRABLE(전체 수준)
SQL_CREATE_TRANSLATION 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 CREATE TRANSLATION 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_CTR_CREATE_TRANSLATION

SQL-92 전체 수준 준수 드라이버는 항상 지원되는 대로 이러한 옵션을 반환합니다. 반환 값 "0"은 CREATE TRANSLATION 문이 지원되지 않음을 의미합니다.
SQL_CREATE_VIEW 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 CREATE VIEW 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_CV_CREATE_VIEW
SQL_CV_CHECK_OPTION
SQL_CV_CASCADED
SQL_CV_LOCAL

반환 값 "0"은 CREATE VIEW 문이 지원되지 않음을 의미합니다.

SQL-92 항목 수준 준수 드라이버는 항상 지원되는 SQL_CV_CREATE_VIEW 및 SQL_CV_CHECK_OPTION 옵션을 반환합니다.

SQL-92 전체 수준 준수 드라이버는 항상 지원되는 모든 옵션을 반환합니다.
SQL_CURSOR_COMMIT_BEHAVIOR 1.0 COMMIT 작업이 데이터 원본의 커서 및 준비된 문(트랜잭션을 커밋할 때의 데이터 원본 동작)에 미치는 영향을 나타내는 SQLUSMALLINT 값입니다.

이 특성의 값은 다음 설정인 SQL_COPT_SS_PRESERVE_CURSORS 현재 상태를 반영합니다.
SQL_CB_DELETE = 커서를 닫고 준비된 문을 삭제합니다. 커서를 다시 사용하려면 애플리케이션이 문을 다시 준비하여 다시 실행해야 합니다.
SQL_CB_CLOSE = 커서를 닫습니다. 준비된 문의 경우 애플리케이션은 SQLPrepare를 다시 호출하지 않고 문에서 SQLExecute를 호출할 수 있습니다. SQL ODBC 드라이버의 기본값은 SQL_CB_CLOSE. 즉, 트랜잭션을 커밋할 때 SQL ODBC 드라이버가 커서를 닫습니다.
SQL_CB_PRESERVE = COMMIT 작업 이전과 동일한 위치에 커서를 유지합니다. 애플리케이션은 데이터를 계속 가져오거나 커서를 닫고 다시 준비하지 않고 문을 다시 실행할 수 있습니다.
SQL_CURSOR_ROLLBACK_BEHAVIOR 1.0 ROLLBACK 작업이 데이터 원본의 커서 및 준비된 문에 미치는 영향을 나타내는 SQLUSMALLINT 값입니다.
SQL_CB_DELETE = 커서를 닫고 준비된 문을 삭제합니다. 커서를 다시 사용하려면 애플리케이션이 문을 다시 준비하여 다시 실행해야 합니다.
SQL_CB_CLOSE = 커서를 닫습니다. 준비된 문의 경우 애플리케이션은 SQLPrepare를 다시 호출하지 않고 문에서 SQLExecute를 호출할 수 있습니다.
SQL_CB_PRESERVE = ROLLBACK 작업 이전과 동일한 위치에 커서를 유지합니다. 애플리케이션은 데이터를 계속 가져오거나 커서를 닫고 다시 준비하지 않고 문을 다시 실행할 수 있습니다.
SQL_CURSOR_SENSITIVITY 3.0 커서 민감도에 대한 지원을 나타내는 SQLUINTEGER 값입니다.
SQL_INSENSITIVE = 문 핸들의 모든 커서는 동일한 트랜잭션 내의 다른 커서에 의해 변경된 내용을 반영하지 않고 결과 집합을 표시합니다.
SQL_UNSPECIFIED = 문 핸들의 커서가 동일한 트랜잭션 내의 다른 커서에 의해 결과 집합에 적용된 변경 내용을 표시할지 여부는 지정되지 않습니다. 문 핸들의 커서는 이러한 변경 내용이 하나도, 일부 또는 모두 표시되지 않을 수 있습니다.
SQL_SENSITIVE = 커서는 동일한 트랜잭션 내의 다른 커서에 의해 변경된 내용에 민감합니다.

SQL-92 항목 수준 준수 드라이버는 항상 지원되는 SQL_UNSPECIFIED 옵션을 반환합니다.

SQL-92 전체 수준 준수 드라이버는 항상 지원되는 SQL_INSENSITIVE 옵션을 반환합니다.
SQL_DATA_SOURCE_NAME 1.0 연결 중에 사용된 데이터 원본 이름의 문자열입니다. 애플리케이션이 SQLConnect라고 하는 경우 szDSN 인수의 입니다. 애플리케이션이 SQLDriverConnect 또는 SQLBrowseConnect라고 하는 경우 드라이버에 전달된 연결 문자열의 DSN 키워드 값입니다. 연결 문자열에 DSN 키워드가 포함되지 않은 경우(예: DRIVER 키워드가 포함된 경우) 빈 문자열입니다.
SQL_DATA_SOURCE_READ_ONLY 1.0 문자열입니다. 데이터 원본이 읽기 전용 모드로 설정된 경우 "Y"이고, 그렇지 않으면 "N"입니다.

이 특성은 데이터 원본 자체에만 관련됩니다. 데이터 원본에 액세스할 수 있도록 하는 드라이버의 특성이 아닙니다. 읽기/쓰기가 가능한 드라이버는 읽기 전용인 데이터 원본과 함께 사용할 수 있습니다. 드라이버가 읽기 전용인 경우 모든 데이터 원본은 읽기 전용이어야 하며 SQL_DATA_SOURCE_READ_ONLY 반환해야 합니다.
SQL_DATABASE_NAME 1.0 데이터 원본이 "database"라는 명명된 개체를 정의하는 경우 사용 중인 현재 데이터베이스의 이름을 가진 문자열입니다.

ODBC 3.x에서 이 InfoType에 대해 반환되는 값은 SQL_ATTR_CURRENT_CATALOG 특성 인수를 사용하여 SQLGetConnectAttr호출하여 반환할 수도 있습니다.
SQL_DATETIME_LITERALS 3.0 데이터 원본에서 지원하는 SQL-92 datetime 리터럴을 열거하는 SQLUINTEGER 비트 마스크입니다. 이는 SQL-92 사양에 나열된 datetime 리터럴이며 ODBC에서 정의한 datetime 리터럴 이스케이프 절과는 별개입니다. ODBC datetime 리터럴 이스케이프 절에 대한 자세한 내용은 날짜, 시간 및 타임스탬프 리터럴을 참조 하세요.

FIPS 전환 수준 준수 드라이버는 항상 다음 목록의 비트에 대한 비트 마스크의 "1" 값을 반환합니다. 값이 "0"이면 SQL-92 datetime 리터럴이 지원되지 않습니다.

다음 비트 마스크는 지원되는 리터럴을 결정하는 데 사용됩니다.
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 드라이버에서 액세스하는 DBMS 제품의 이름을 가진 문자열입니다.
SQL_DBMS_VER 1.0 드라이버에서 액세스하는 DBMS 제품의 버전을 나타내는 문자열입니다. 버전은 ##.##.# 형식입니다. 여기서 처음 두 자리는 주 버전이고, 다음 두 자리는 부 버전이고, 마지막 네 자리는 릴리스 버전입니다. 드라이버는 이 형식으로 DBMS 제품 버전을 렌더링해야 하지만 DBMS 제품별 버전을 추가할 수도 있습니다. 예를 들어 "04.01.0000 Rdb 4.1"입니다.
SQL_DDL_INDEX 3.0 인덱스 생성 및 삭제에 대한 지원을 나타내는 SQLUINTEGER 값입니다.
SQL_DI_CREATE_INDEX
SQL_DI_DROP_INDEX
SQL_DEFAULT_TXN_ISOLATION 1.0 드라이버 또는 데이터 원본에서 지원하는 기본 트랜잭션 격리 수준을 나타내는 SQLUINTEGER 값이거나, 데이터 원본이 트랜잭션을 지원하지 않는 경우 0입니다. 다음 용어는 트랜잭션 격리 수준을 정의하는 데 사용됩니다.
더티 읽기 트랜잭션 1은 행을 변경합니다. 트랜잭션 2는 트랜잭션 1이 변경 내용을 커밋하기 전에 변경된 행을 읽습니다. 트랜잭션 1이 변경 내용을 롤백하는 경우 트랜잭션 2는 존재하지 않는 것으로 간주되는 행을 읽습니다.
반복할 수 없는 읽기 트랜잭션 1은 행을 읽습니다. 트랜잭션 2는 해당 행을 업데이트하거나 삭제하고 이 변경 내용을 커밋합니다. 트랜잭션 1이 행을 다시 읽으려고 하면 다른 행 값을 받거나 행이 삭제되었음을 검색합니다.
가상 트랜잭션 1은 일부 검색 조건을 충족하는 행 집합을 읽습니다. 트랜잭션 2는 검색 조건과 일치하는 하나 이상의 행(삽입 또는 업데이트를 통해)을 생성합니다. 트랜잭션 1이 행을 읽는 문을 다시 실행하면 다른 행 집합이 수신됩니다.

데이터 원본이 트랜잭션을 지원하는 경우 드라이버는 다음 비트 마스크 중 하나를 반환합니다.
SQL_TXN_READ_UNCOMMITTED = 더티 읽기, 반복할 수 없는 읽기 및 가상이 가능합니다.
SQL_TXN_READ_COMMITTED = 더티 읽기는 불가능합니다. 반복할 수 없는 읽기 및 가상이 가능합니다.
SQL_TXN_REPEATABLE_READ = 더티 읽기 및 반복할 수 없는 읽기는 불가능합니다. 가상이 가능합니다.
SQL_TXN_SERIALIZABLE = 트랜잭션을 직렬화할 수 있습니다. 직렬화 가능한 트랜잭션은 더티 읽기, 반복할 수 없는 읽기 또는 가상을 허용하지 않습니다.
SQL_DESCRIBE_PARAMETER 3.0 문자 문자열: 매개 변수를 설명할 수 있는 경우 "Y"입니다. "N", 그렇지 않은 경우.

SQL-92 전체 수준 준수 드라이버는 DESCRIBE INPUT 문을 지원하므로 일반적으로 "Y"를 반환합니다. 그러나 기본 SQL 지원을 직접 지정하지는 않으므로 SQL-92 전체 수준 준수 드라이버에서도 매개 변수를 설명하는 것은 지원되지 않을 수 있습니다.
SQL_DM_VER 3.0 드라이버 관리자 버전이 있는 문자열입니다. 버전은 다음과 같은 형식의 ##.#####입니다.
두 자리의 첫 번째 집합은 상수 SQL_SPEC_MAJOR 지정된 대로 주 ODBC 버전입니다.
두 자리 숫자의 두 번째 집합은 상수 SQL_SPEC_MINOR 지정된 부 ODBC 버전입니다.
네 자리 숫자의 세 번째 집합은 드라이버 관리자 주 빌드 번호입니다.
네 자리 숫자의 마지막 집합은 드라이버 관리자 부 빌드 번호입니다.
Windows 7 드라이버 관리자 버전은 03.80입니다. Windows 8 드라이버 관리자 버전은 03.81입니다.
SQL_DRIVER_AWARE_POOLING_SUPPORTED 3.8 드라이버가 드라이버 인식 풀링을 지원하는지 나타내는 SQLUINTEGER 값입니다. (자세한 내용은 를 참조하세요.드라이버 인식 연결 풀링.

SQL_DRIVER_AWARE_POOLING_CAPABLE 드라이버가 드라이버 인식 풀링 메커니즘을 지원할 수 있음을 나타냅니다.
SQL_DRIVER_AWARE_POOLING_NOT_CAPABLE 드라이버가 드라이버 인식 풀링 메커니즘을 지원할 수 없음을 나타냅니다.

드라이버는 SQL_DRIVER_AWARE_POOLING_SUPPORTED 구현할 필요가 없으며 드라이버 관리자는 드라이버의 반환 값을 존중하지 않습니다.
SQL_DRIVER_HDBCSQL_DRIVER_HENV 1.0 INFOType 인수에 의해 결정되는 SQLULEN 값, 드라이버의 환경 핸들 또는 연결 핸들입니다.

이러한 정보 유형은 드라이버 관리자에서만 구현됩니다.
SQL_DRIVER_HDESC 3.0 애플리케이션에서 *InfoValuePtr 의 입력에 전달되어야 하는 드라이버 관리자의 설명자 핸들에 의해 결정되는 드라이버의 설명자 핸들인 SQLULEN 값입니다. 이 경우 InfoValuePtr 는 입력 및 출력 인수입니다. *InfoValuePtr에 전달된 입력 설명자 핸들은 ConnectionHandle명시적으로 또는 암시적으로 할당되어 있어야 합니다.

애플리케이션은 이 정보 형식으로 SQLGetInfo를 호출하기 전에 드라이버 관리자의 설명자 핸들의 복사본을 만들어서 출력에서 핸들을 덮어쓰지 않도록 해야 합니다.

이 정보 유형은 드라이버 관리자에서만 구현됩니다.
SQL_DRIVER_HLIB 2.0 SQLULEN 값으로, Microsoft Windows 운영 체제에서 드라이버 DLL을 로드할 때 로드 라이브러리의 hinst 가 드라이버 관리자로 반환되거나 다른 운영 체제에 해당합니다. 이 핸들은 SQLGetInfo 호출에 지정된 연결 핸들에만 유효합니다.

이 정보 유형은 드라이버 관리자에서만 구현됩니다.
SQL_DRIVER_HSTMT 1.0 애플리케이션에서 *InfoValuePtr 의 입력에 전달되어야 하는 드라이버 관리자 문 핸들에 의해 결정되는 드라이버의 문 핸들인 SQLULEN 값입니다. 이 경우 InfoValuePtr 는 입력 및 출력 인수입니다. *InfoValuePtr에 전달된 입력 문 핸들은 ConnectionHandle 인수에 할당되어 있어야 합니다.

애플리케이션은 이 정보 형식으로 SQLGetInfo를 호출하기 전에 드라이버 관리자 문 핸들의 복사본을 만들어서 출력에서 핸들을 덮어쓰지 않도록 해야 합니다.

이 정보 유형은 드라이버 관리자에서만 구현됩니다.
SQL_DRIVER_NAME 1.0 데이터 원본에 액세스하는 데 사용되는 드라이버의 파일 이름을 가진 문자열입니다.
SQL_DRIVER_ODBC_VER 2.0 드라이버에서 지원하는 ODBC 버전이 있는 문자열입니다. 버전은 처음 두 자리가 주 버전이고 다음 두 자리가 부 버전인 ##.## 형식입니다. SQL_SPEC_MAJOR 및 SQL_SPEC_MINOR 주 버전 및 부 버전 번호를 정의합니다. 이 설명서에 설명된 ODBC 버전의 경우 3과 0이며 드라이버는 "03.00"을 반환해야 합니다.

ODBC 드라이버 관리자는 기존 애플리케이션에 대한 이전 버전과의 호환성을 유지하기 위해 SQLGetInfo(SQL_DRIVER_ODBC_VER)의 반환 값을 수정하지 않습니다. 드라이버는 반환할 값을 지정합니다. 그러나 애플리케이션이 SQLSetEnvAttr를 호출하여 SQL_ATTR_ODBC_VERSION 3.8로 설정할 때 C 데이터 형식 확장성을 지원하는 드라이버는 3.8 이상을 반환해야 합니다. 자세한 내용은 ODBC의 C 데이터 형식을 참조하세요.
SQL_DRIVER_VER 1.0 드라이버 버전과 필요에 따라 드라이버에 대한 설명이 있는 문자 문자열입니다. 최소한 버전은 ##.##.# 형식입니다. 여기서 처음 두 자리는 주 버전이고, 다음 두 자리는 부 버전이고, 마지막 네 자리는 릴리스 버전입니다.
SQL_DROP_ASSERTION 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 DROP ASSERTION 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_DA_DROP_ASSERTION

SQL-92 전체 수준 준수 드라이버는 항상 지원되는 대로 이 옵션을 반환합니다.
SQL_DROP_CHARACTER_SET 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 DROP CHARACTER SET 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_DCS_DROP_CHARACTER_SET

SQL-92 전체 수준 준수 드라이버는 항상 지원되는 대로 이 옵션을 반환합니다.
SQL_DROP_COLLATION 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 DROP COLLATION 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_DC_DROP_COLLATION

SQL-92 전체 수준 준수 드라이버는 항상 지원되는 대로 이 옵션을 반환합니다.
SQL_DROP_DOMAIN 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 DROP DOMAIN 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_DD_DROP_DOMAIN
SQL_DD_CASCADE
SQL_DD_RESTRICT

SQL-92 중간 수준 준수 드라이버는 항상 지원되는 모든 옵션을 반환합니다.
SQL_DROP_SCHEMA 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 DROP SCHEMA 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_DS_DROP_SCHEMA
SQL_DS_CASCADE
SQL_DS_RESTRICT

SQL-92 중간 수준 준수 드라이버는 항상 지원되는 모든 옵션을 반환합니다.
SQL_DROP_TABLE 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 DROP TABLE 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_DT_DROP_TABLE
SQL_DT_CASCADE
SQL_DT_RESTRICT

FIPS 전환 수준 준수 드라이버는 항상 지원되는 모든 옵션을 반환합니다.
SQL_DROP_TRANSLATION 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 DROP TRANSLATION 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_DTR_DROP_TRANSLATION

SQL-92 전체 수준 준수 드라이버는 항상 지원되는 대로 이 옵션을 반환합니다.
SQL_DROP_VIEW 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 DROP VIEW 문의 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 절을 결정하는 데 사용됩니다.
SQL_DV_DROP_VIEW
SQL_DV_CASCADE
SQL_DV_RESTRICT

FIPS 전환 수준 준수 드라이버는 항상 지원되는 모든 옵션을 반환합니다.
SQL_DYNAMIC_CURSOR_ATTRIBUTES1 3.0 드라이버에서 지원하는 동적 커서의 특성을 설명하는 SQLUINTEGER 비트 마스크입니다. 이 비트 마스크에는 특성의 첫 번째 하위 집합이 포함됩니다. 두 번째 하위 집합은 SQL_DYNAMIC_CURSOR_ATTRIBUTES2 참조하세요.

다음 비트 마스크는 지원되는 특성을 결정하는 데 사용됩니다.
SQL_CA1_NEXT = 커서가 동적 커서인 경우 SQLFetchScroll 호출에서 SQL_FETCH_NEXT FetchOrientation 인수가 지원됩니다.
SQL_CA1_ABSOLUTE = 커서가 동적 커서인 경우 SQLFetchScroll 호출에서 SQL_FETCH_FIRST, SQL_FETCH_LAST 및 SQL_FETCH_ABSOLUTE FetchOrientation 인수가 지원됩니다. 가져올 행 집합은 현재 커서 위치와 독립적입니다.
SQL_CA1_RELATIVE = 커서가 동적 커서인 경우 SQLFetchScroll 호출에서 SQL_FETCH_PRIOR 및 SQL_FETCH_RELATIVE FetchOrientation 인수가 지원됩니다. 가져올 행 집합은 현재 커서 위치에 따라 달라집니다. 앞으로만 사용할 수 있는 커서에서는 SQL_FETCH_NEXT만 지원되므로 SQL_FETCH_NEXT 구분됩니다.)
SQL_CA1_BOOKMARK = 커서가 동적 커서인 경우 SQLFetchScroll 호출에서 SQL_FETCH_BOOKMARK FetchOrientation 인수가 지원됩니다.
SQL_CA1_LOCK_EXCLUSIVE = 커서가 동적 커서인 경우 SQLSetPos 호출에서 SQL_LOCK_EXCLUSIVE LockType 인수가 지원됩니다.
SQL_CA1_LOCK_NO_CHANGE = 커서가 동적 커서인 경우 SQLSetPos 호출에서 SQL_LOCK_NO_CHANGE LockType 인수가 지원됩니다.
SQL_CA1_LOCK_UNLOCK = 커서가 동적 커서인 경우 SQLSetPos 호출에서 SQL_LOCK_UNLOCK LockType 인수가 지원됩니다.
SQL_CA1_POS_POSITION = 커서가 동적 커서인 경우 SQLSetPos 호출에서 SQL_POSITION Operation 인수가 지원됩니다.
SQL_CA1_POS_UPDATE = 커서가 동적 커서인 경우 SQLSetPos를 호출할 때 SQL_UPDATE Operation 인수가 지원됩니다.
SQL_CA1_POS_DELETE = 커서가 동적 커서인 경우 SQLSetPos 호출에서 SQL_DELETE 작업 인수가 지원됩니다.
SQL_CA1_POS_REFRESH = 커서가 동적 커서인 경우 SQLSetPos 호출에서 SQL_REFRESH 작업 인수가 지원됩니다.
SQL_CA1_POSITIONED_UPDATE = 커서가 동적 커서인 경우 UPDATE WHERE CURRENT OF SQL 문이 지원됩니다. (SQL-92 엔트리 수준 준수 드라이버는 항상 지원되는 대로 이 옵션을 반환합니다.)
SQL_CA1_POSITIONED_DELETE = 커서가 동적 커서인 경우 DELETE WHERE CURRENT OF SQL 문이 지원됩니다. (SQL-92 엔트리 수준 준수 드라이버는 항상 지원되는 대로 이 옵션을 반환합니다.)
SQL_CA1_SELECT_FOR_UPDATE = 커서가 동적 커서인 경우 SELECT FOR UPDATE SQL 문이 지원됩니다. (SQL-92 엔트리 수준 준수 드라이버는 항상 지원되는 대로 이 옵션을 반환합니다.)
SQL_CA1_BULK_ADD = 커서가 동적 커서인 경우 SQLBulkOperations 호출에서 SQL_ADD Operation 인수가 지원됩니다.
SQL_CA1_BULK_UPDATE_BY_BOOKMARK = 커서가 동적 커서인 경우 SQLBulkOperations 호출에서 SQL_UPDATE_BY_BOOKMARK 작업 인수가 지원됩니다.
SQL_CA1_BULK_DELETE_BY_BOOKMARK = 커서가 동적 커서인 경우 SQLBulkOperations 호출에서 SQL_DELETE_BY_BOOKMARK Operation 인수가 지원됩니다.
SQL_CA1_BULK_FETCH_BY_BOOKMARK = 커서가 동적 커서인 경우 SQLBulkOperations 호출에서 SQL_FETCH_BY_BOOKMARK Operation 인수가 지원됩니다.

SQL-92 중간 수준 준수 드라이버는 포함된 SQL FETCH 문을 통해 스크롤 가능한 커서를 지원하므로 일반적으로 지원되는 SQL_CA1_NEXT, SQL_CA1_ABSOLUTE 및 SQL_CA1_RELATIVE 옵션을 반환합니다. 그러나 기본 SQL 지원을 직접 결정하지는 않으므로 SQL-92 중간 수준 준수 드라이버의 경우에도 스크롤 가능한 커서가 지원되지 않을 수 있습니다.
SQL_DYNAMIC_CURSOR_ATTRIBUTES2 3.0 드라이버에서 지원하는 동적 커서의 특성을 설명하는 SQLUINTEGER 비트 마스크입니다. 이 비트 마스크는 특성의 두 번째 하위 집합을 포함합니다. 첫 번째 하위 집합은 SQL_DYNAMIC_CURSOR_ATTRIBUTES1 참조하세요.

다음 비트 마스크는 지원되는 특성을 결정하는 데 사용됩니다.
SQL_CA2_READ_ONLY_CONCURRENCY = 업데이트가 허용되지 않는 읽기 전용 동적 커서가 지원됩니다. (SQL_ATTR_CONCURRENCY 문 특성은 동적 커서에 대해 SQL_CONCUR_READ_ONLY 수 있습니다.)
SQL_CA2_LOCK_CONCURRENCY = 행을 업데이트할 수 있는지 확인하기에 충분한 가장 낮은 수준의 잠금을 사용하는 동적 커서가 지원됩니다. (SQL_ATTR_CONCURRENCY 문 특성은 동적 커서에 대해 SQL_CONCUR_LOCK 수 있습니다.) 이러한 잠금은 SQL_ATTR_TXN_ISOLATION 연결 특성에 의해 설정된 트랜잭션 격리 수준과 일치해야 합니다.
SQL_CA2_OPT_ROWVER_CONCURRENCY = 행 버전을 비교하는 낙관적 동시성 컨트롤을 사용하는 동적 커서가 지원됩니다. (SQL_ATTR_CONCURRENCY 문 특성은 동적 커서에 대해 SQL_CONCUR_ROWVER 수 있습니다.)
SQL_CA2_OPT_VALUES_CONCURRENCY = 낙관적 동시성 컨트롤을 사용하여 값을 비교하는 동적 커서가 지원됩니다. (SQL_ATTR_CONCURRENCY 문 특성은 동적 커서에 대해 SQL_CONCUR_VALUES 수 있습니다.)
SQL_CA2_SENSITIVITY_ADDITIONS = 추가된 행이 동적 커서에 표시됩니다. 커서는 해당 행으로 스크롤할 수 있습니다. 커서에 이러한 행이 추가되는 위치는 드라이버에 따라 다릅니다.
SQL_CA2_SENSITIVITY_DELETIONS = 삭제된 행은 더 이상 동적 커서에서 사용할 수 없으며 결과 집합에 "구멍"을 남기지 않습니다. 동적 커서가 삭제된 행에서 스크롤되면 해당 행으로 돌아갈 수 없습니다.
SQL_CA2_SENSITIVITY_UPDATES = 행에 대한 업데이트가 동적 커서에 표시됩니다. 동적 커서가 스크롤되어 업데이트된 행으로 반환되면 커서에서 반환되는 데이터는 원래 데이터가 아닌 업데이트된 데이터입니다.
SQL_CA2_MAX_ROWS_SELECT = 커서가 동적 커서인 경우 SQL_ATTR_MAX_ROWS 문 특성이 SELECT 문에 영향을 줍니다.
SQL_CA2_MAX_ROWS_INSERT = 커서가 동적 커서인 경우 SQL_ATTR_MAX_ROWS 문 특성이 INSERT 문에 영향을 줍니다.
SQL_CA2_MAX_ROWS_DELETE = 커서가 동적 커서인 경우 SQL_ATTR_MAX_ROWS 문 특성이 DELETE 문에 영향을 줍니다.
SQL_CA2_MAX_ROWS_UPDATE = 커서가 동적 커서인 경우 SQL_ATTR_MAX_ROWS 문 특성이 UPDATE 문에 영향을 줍니다.
SQL_CA2_MAX_ROWS_CATALOG = SQL_ATTR_MAX_ROWS 문 특성은 커서가 동적 커서일 때 CATALOG 결과 집합에 영향을 줍니다.
SQL_CA2_MAX_ROWS_AFFECTS_ALL = 커서가 동적 커서인 경우 SQL_ATTR_MAX_ROWS 문 특성은 SELECT, INSERT, DELETEUPDATE 문 및 CATALOG 결과 집합에 영향을 줍니다.
SQL_CA2_CRC_EXACT = 커서가 동적 커서인 경우 SQL_DIAG_CURSOR_ROW_COUNT 진단 필드에서 정확한 행 수를 사용할 수 있습니다.
SQL_CA2_CRC_APPROXIMATE = 커서가 동적 커서인 경우 SQL_DIAG_CURSOR_ROW_COUNT 진단 필드에서 대략적인 행 수를 사용할 수 있습니다.
SQL_CA2_SIMULATE_NON_UNIQUE = 드라이버는 커서가 동적 커서일 때 시뮬레이트된 위치 업데이트 또는 삭제 문이 한 행에만 영향을 줄 것이라고 보장하지 않습니다. 이를 보장하는 것은 애플리케이션의 책임입니다. (문이 둘 이상의 행 에 영향을 미치는 경우SQLExecute 또는 SQLExecDirect는 SQLSTATE 01001 [커서 작업 충돌]을 반환합니다. 이 동작을 설정하기 위해 애플리케이션은 SQL_ATTR_SIMULATE_CURSOR 특성이 SQL_SC_NON_UNIQUE 설정된 SQLSetStmtAttr을 호출합니다.
SQL_CA2_SIMULATE_TRY_UNIQUE = 드라이버는 커서가 동적 커서일 때 시뮬레이트된 위치 업데이트 또는 삭제 문이 한 행에만 영향을 주도록 보장하려고 합니다. 드라이버는 고유 키가 없는 경우와 같이 둘 이상의 행에 영향을 줄 수 있더라도 항상 이러한 문을 실행합니다. (문이 둘 이상의 행 에 영향을 미치는 경우SQLExecute 또는 SQLExecDirect는 SQLSTATE 01001 [커서 작업 충돌]을 반환합니다. 이 동작을 설정하기 위해 애플리케이션은 SQL_ATTR_SIMULATE_CURSOR 특성이 SQL_SC_TRY_UNIQUE 설정된 SQLSetStmtAttr을 호출합니다.
SQL_CA2_SIMULATE_UNIQUE = 드라이버는 커서가 동적 커서일 때 시뮬레이트된 위치 업데이트 또는 삭제 문이 한 행에만 영향을 주게 합니다. 드라이버가 지정된 문 에 대해 이를 보장할 수 없는 경우 SQLExecDirect 또는 SQLPrepare 는 SQLSTATE 01001(커서 작업 충돌)을 반환합니다. 이 동작을 설정하기 위해 애플리케이션은 SQL_ATTR_SIMULATE_CURSOR 특성이 SQL_SC_UNIQUE 설정된 SQLSetStmtAttr을 호출합니다.
SQL_EXPRESSIONS_IN_ORDERBY 1.0 문자열: 데이터 원본이 ORDER BY 목록의 식을 지원하는 경우 "Y"입니다. 그렇지 않으면 "N"입니다.
SQL_FILE_USAGE 2.0 단일 계층 드라이버가 데이터 원본의 파일을 직접 처리하는 방법을 나타내는 SQLUSMALLINT 값입니다.
SQL_FILE_NOT_SUPPORTED = 드라이버가 단일 계층 드라이버가 아닙니다. 예를 들어 ORACLE 드라이버는 2계층 드라이버입니다.
SQL_FILE_TABLE = 단일 계층 드라이버는 데이터 원본의 파일을 테이블로 처리합니다. 예를 들어 Xbase 드라이버는 각 Xbase 파일을 테이블로 처리합니다.
SQL_FILE_CATALOG = 단일 계층 드라이버는 데이터 원본의 파일을 카탈로그로 처리합니다. 예를 들어 Microsoft Access 드라이버는 각 Microsoft Access 파일을 전체 데이터베이스로 처리합니다.

애플리케이션은 이를 사용하여 사용자가 데이터를 선택하는 방법을 결정할 수 있습니다. 예를 들어 Xbase 사용자는 데이터를 파일에 저장된 것으로 생각하는 경우가 많지만 ORACLE 및 Microsoft Access 사용자는 일반적으로 데이터를 테이블에 저장된 것으로 간주합니다.

사용자가 Xbase 데이터 원본을 선택하면 애플리케이션에서 Windows 파일 열기 공통 대화 상자를 표시할 수 있습니다. 사용자가 Microsoft Access 또는 ORACLE 데이터 원본을 선택하면 애플리케이션에서 사용자 지정 테이블 선택 대화 상자를 표시할 수 있습니다.
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 3.0 드라이버에서 지원하는 정방향 전용 커서의 특성을 설명하는 SQLUINTEGER 비트 마스크입니다. 이 비트 마스크에는 특성의 첫 번째 하위 집합이 포함됩니다. 두 번째 하위 집합은 SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 참조하세요.

다음 비트 마스크는 지원되는 특성을 결정하는 데 사용됩니다.
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

이러한 비트 마스크에 대한 설명은 SQL_DYNAMIC_CURSOR_ATTRIBUTES1 참조하세요(설명에서 "동적 커서"로 "전달 전용 커서"로 대체).
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 3.0 드라이버에서 지원하는 정방향 전용 커서의 특성을 설명하는 SQLUINTEGER 비트 마스크입니다. 이 비트 마스크는 특성의 두 번째 하위 집합을 포함합니다. 첫 번째 하위 집합은 SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 참조하세요.

다음 비트 마스크는 지원되는 특성을 결정하는 데 사용됩니다.
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

이러한 비트 마스크에 대한 설명은 SQL_DYNAMIC_CURSOR_ATTRIBUTES2 참조하세요(설명에서 "동적 커서"로 "전달 전용 커서"로 대체).
SQL_GETDATA_EXTENSIONS 2.0 SQLGetData에 대한 확장을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 플래그와 함께 사용하여 드라이버가 SQLGetData에 대해 지원하는 일반적인 확장을 결정합니다.
SQL_GD_ANY_COLUMN = 마지막 바인딩된 열 앞의 열을 포함하여 언바운드 열에 대해 SQLGetData 를 호출할 수 있습니다. SQL_GD_ANY_ORDER 반환되지 않는 한 열은 오름차순으로 호출되어야 합니다.
SQL_GD_ANY_ORDER = SQLGetData 는 어떤 순서로든 언바운드 열에 대해 호출할 수 있습니다. SQL_GD_ANY_COLUMN 반환되지 않는 한 마지막 바인딩된 열 이후의 열에 대해서만 SQLGetData를 호출할 수 있습니다.
SQL_GD_BLOCK = SQLSetPos를 사용하여 해당 행에 배치한 후 데이터의 블록(행 집합 크기가 1보다 큰)의 모든 행에서 언바운드 열에 대해 SQLGetData를 호출할 수 있습니다.
SQL_GD_BOUND = 언바운드 열 외에도 바운드 열에 대해 SQLGetData 를 호출할 수 있습니다. 드라이버가 SQL_GD_ANY_COLUMN 반환하지 않으면 이 값을 반환할 수 없습니다.
SQL_GD_OUTPUT_PARAMS = 출력 매개 변수 값을 반환하기 위해 SQLGetData 를 호출할 수 있습니다. 자세한 내용은 SQLGetData를 사용하여 출력 매개 변수 검색을 참조하세요.

SQLGetData 는 마지막 바인딩된 열 이후에 발생하고, 열 수를 늘리기 위해 호출되고, 행 블록의 행에 없는 언바운드 열에서만 데이터를 반환해야 합니다.

드라이버가 책갈피(고정 길이 또는 가변 길이)를 지원하는 경우 열 0에서 SQLGetData 호출을 지원해야 합니다. 이 지원은 SQL_GETDATA_EXTENSIONS InfoType을 사용하여 SQLGetInfo 호출을 위해 드라이버가 반환하는 항목에 관계없이 필요합니다.
SQL_GROUP_BY 2.0 GROUP BY 절의 열과 선택 목록의 집계되지 않은 열 간의 관계를 지정하는 SQLUSMALLINT 값입니다.
SQL_GB_COLLATE = 각 그룹화 열의 끝에 COLLATE 절을 지정할 수 있습니다. (ODBC 3.0)
SQL_GB_NOT_SUPPORTED = GROUP BY 절은 지원되지 않습니다. (ODBC 2.0)
SQL_GB_GROUP_BY_EQUALS_SELECT = GROUP BY 절은 선택 목록에 집계되지 않은 모든 열을 포함해야 합니다. 다른 열은 포함할 수 없습니다. 예를 들어 SELECT DEPT, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT. (ODBC 2.0)
SQL_GB_GROUP_BY_CONTAINS_SELECT = GROUP BY 절은 선택 목록에 집계되지 않은 모든 열을 포함해야 합니다. 선택 목록에 없는 열을 포함할 수 있습니다. 예를 들어 SELECT DEPT, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT, AGE. (ODBC 2.0)
SQL_GB_NO_RELATION = GROUP BY 절 및 선택 목록의 열이 관련되지 않습니다. 선택 목록에서 그룹화되지 않은 집계되지 않은 열의 의미는 데이터 원본에 종속됩니다. 예를 들어 SELECT DEPT, SALARY FROM EMPLOYEE GROUP BY DEPT, AGE. (ODBC 2.0)

SQL-92 항목 수준 준수 드라이버는 항상 지원되는 SQL_GB_GROUP_BY_EQUALS_SELECT 옵션을 반환합니다. SQL-92 전체 수준 준수 드라이버는 항상 지원되는 SQL_GB_COLLATE 옵션을 반환합니다. 지원 되는 옵션이 없는 경우 GROUP BY 절은 데이터 원본에서 지원되지 않습니다.
SQL_IDENTIFIER_CASE 1.0 SQLUSMALLINT 값은 다음과 같습니다.
SQL_IC_UPPER = SQL의 식별자는 대/소문자를 구분하지 않으며 시스템 카탈로그의 대문자로 저장됩니다.
SQL_IC_LOWER = SQL의 식별자는 대/소문자를 구분하지 않으며 시스템 카탈로그의 소문자로 저장됩니다.
SQL_IC_SENSITIVE = SQL의 식별자는 대/소문자를 구분하며 시스템 카탈로그의 혼합 사례에 저장됩니다.
SQL_IC_MIXED = SQL의 식별자는 대/소문자를 구분하지 않으며 시스템 카탈로그의 혼합 사례에 저장됩니다.

SQL-92의 식별자는 대/소문자를 구분하지 않으므로 SQL-92(모든 수준)를 엄격하게 준수하는 드라이버는 지원되는 SQL_IC_SENSITIVE 옵션을 반환하지 않습니다.
SQL_IDENTIFIER_QUOTE_CHAR 1.0 SQL 문에서 따옴표로 묶인(구분 기호) 식별자의 시작 및 끝 구분 기호로 사용되는 문자열입니다. (ODBC 함수에 인수로 전달된 식별자는 따옴표로 묶을 필요가 없습니다.) 데이터 원본에서 따옴표 붙은 식별자를 지원하지 않으면 빈 항목이 반환됩니다.

연결 특성 SQL_ATTR_METADATA_ID SQL_TRUE 설정된 경우 카탈로그 함수 인수를 따옴표로 묶는 데에도 이 문자열을 사용할 수 있습니다.

SQL-92의 식별자 따옴표 문자는 큰따옴표(")이므로 SQL-92를 엄격하게 준수하는 드라이버는 항상 큰따옴표 문자를 반환합니다.
SQL_INDEX_KEYWORDS 3.0 드라이버에서 지원하는 CREATE INDEX 문의 키워드를 열거하는 SQLUINTEGER 비트 마스크입니다.
SQL_IK_NONE = 키워드가 지원되지 않습니다.
SQL_IK_ASC = ASC 키워드가 지원됩니다.
SQL_IK_DESC = DESC 키워드가 지원됩니다.
SQL_IK_ALL = 모든 키워드가 지원됩니다.

CREATE INDEX 문이 지원되는지 여부를 확인하기 위해 애플리케이션은 SQL_DLL_INDEX 정보 유형을 사용하여 SQLGetInfo를 호출합니다.
SQL_INFO_SCHEMA_VIEWS 3.0 드라이버에서 지원하는 INFORMATION_SCHEMA 보기를 열거하는 SQLUINTEGER 비트 마스크입니다. INFORMATION_SCHEMA 보기 및 내용은 SQL-92에 정의되어 있습니다.

이 기능을 지원해야 하는 SQL-92 또는 FIPS 규칙 수준은 각 비트 마스크 옆에 괄호로 표시됩니다.

지원되는 뷰를 결정하는 데 사용되는 비트 마스크는 다음과 같습니다.
SQL_ISV_ASSERTIONS = 지정된 사용자가 소유한 카탈로그의 어설션을 식별합니다. (전체 수준)
SQL_ISV_CHARACTER_SETS = 지정된 사용자가 액세스할 수 있는 카탈로그의 문자 집합을 식별합니다. (중간 수준)
SQL_ISV_CHECK_CONSTRAINTS = 지정된 사용자가 소유한 CHECK 제약 조건을 식별합니다. (중간 수준)
SQL_ISV_COLLATIONS = 지정된 사용자가 액세스할 수 있는 카탈로그의 문자 데이터 정렬을 식별합니다. (전체 수준)
SQL_ISV_COLUMN_DOMAIN_USAGE = 카탈로그에 정의되고 지정된 사용자가 소유한 도메인에 따라 달라지는 카탈로그의 열을 식별합니다. (중간 수준)
SQL_ISV_COLUMN_PRIVILEGES = 지정된 사용자가 사용하거나 부여한 영구 테이블의 열에 대한 권한을 식별합니다. (FIPS 전환 수준)
SQL_ISV_COLUMNS = 지정된 사용자가 액세스할 수 있는 영구 테이블의 열을 식별합니다. (FIPS 전환 수준)
SQL_ISV_CONSTRAINT_COLUMN_USAGE = CONSTRAINT_TABLE_USAGE 보기와 유사하게 지정된 사용자가 소유한 다양한 제약 조건에 대해 열이 식별됩니다. (중간 수준)
SQL_ISV_CONSTRAINT_TABLE_USAGE = 제약 조건(참조, 고유 및 어설션)에서 사용되며 지정된 사용자가 소유한 테이블을 식별합니다. (중간 수준)
SQL_ISV_DOMAIN_CONSTRAINTS = 지정된 사용자가 액세스할 수 있는 도메인 제약 조건(카탈로그의 도메인)을 식별합니다. (중간 수준)
SQL_ISV_DOMAINS = 사용자가 액세스할 수 있는 카탈로그에 정의된 도메인을 식별합니다. (중간 수준)
SQL_ISV_KEY_COLUMN_USAGE = 지정된 사용자가 키로 제한되는 카탈로그에 정의된 열을 식별합니다. (중간 수준)
SQL_ISV_REFERENTIAL_CONSTRAINTS = 지정된 사용자가 소유한 참조 제약 조건을 식별합니다. (중간 수준)
SQL_ISV_SCHEMATA = 지정된 사용자가 소유한 스키마를 식별합니다. (중간 수준)
SQL_ISV_SQL_LANGUAGES = SQL 구현에서 지원하는 SQL 규칙 수준, 옵션 및 언어를 식별합니다. (중간 수준)
SQL_ISV_TABLE_CONSTRAINTS = 지정된 사용자가 소유한 테이블 제약 조건을 식별합니다. (중간 수준)
SQL_ISV_TABLE_PRIVILEGES = 지정된 사용자가 사용하거나 부여한 영구 테이블에 대한 권한을 식별합니다. (FIPS 전환 수준)
SQL_ISV_TABLES = 지정된 사용자가 액세스할 수 있는 카탈로그에 정의된 영구 테이블을 식별합니다. (FIPS 전환 수준)
SQL_ISV_TRANSLATIONS = 지정된 사용자가 액세스할 수 있는 카탈로그의 문자 번역을 식별합니다. (전체 수준)
SQL_ISV_USAGE_PRIVILEGES = 지정된 사용자가 사용하거나 소유하는 카탈로그 개체에 대한 USAGE 권한을 식별합니다. (FIPS 전환 수준)
SQL_ISV_VIEW_COLUMN_USAGE = 지정된 사용자가 소유한 카탈로그 뷰가 종속된 열을 식별합니다. (중간 수준)
SQL_ISV_VIEW_TABLE_USAGE = 지정된 사용자가 소유한 카탈로그 뷰가 종속된 테이블을 식별합니다. (중간 수준)
SQL_ISV_VIEWS = 지정된 사용자가 액세스할 수 있는 이 카탈로그에 정의된 뷰된 테이블을 식별합니다. (FIPS 전환 수준)
SQL_INSERT_STATEMENT 3.0 INSERT 문에 대한 지원을 나타내는 SQLUINTEGER 비트 마스크입니다.
SQL_IS_INSERT_LITERALS
SQL_IS_INSERT_SEARCHED
SQL_IS_SELECT_INTO

SQL-92 항목 수준 준수 드라이버는 항상 지원되는 대로 이러한 모든 옵션을 반환합니다.
SQL_INTEGRITY 1.0 문자열: 데이터 원본이 무결성 향상 기능을 지원하는 경우 "Y"입니다. 그렇지 않으면 "N"입니다.

InfoType은 ODBC 2.0 InfoType SQL_ODBC_SQL_OPT_IEF ODBC 3.0의 이름이 바뀌었습니다.
SQL_KEYSET_CURSOR_ATTRIBUTES1 3.0 드라이버에서 지원하는 키 집합 커서의 특성을 설명하는 SQLUINTEGER 비트 마스크입니다. 이 비트 마스크에는 특성의 첫 번째 하위 집합이 포함됩니다. 두 번째 하위 집합은 SQL_KEYSET_CURSOR_ATTRIBUTES2 참조하세요.

다음 비트 마스크는 지원되는 특성을 결정하는 데 사용됩니다.
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

이러한 비트 마스크에 대한 설명은 SQL_DYNAMIC_CURSOR_ATTRIBUTES1(설명에서 "동적 커서"로 "키 집합 기반 커서"로 대체)을 참조하세요.

SQL-92 중간 수준 준수 드라이버는 일반적으로 포함된 SQL FETCH 문을 통해 스크롤 가능한 커서를 지원하므로 지원되는 SQL_CA1_NEXT, SQL_CA1_ABSOLUTE 및 SQL_CA1_RELATIVE 옵션을 반환합니다. 그러나 기본 SQL 지원을 직접 결정하지는 않으므로 SQL-92 중간 수준 준수 드라이버의 경우에도 스크롤 가능한 커서가 지원되지 않을 수 있습니다.
SQL_KEYSET_CURSOR_ATTRIBUTES2 3.0 드라이버에서 지원하는 키 집합 커서의 특성을 설명하는 SQLUINTEGER 비트 마스크입니다. 이 비트 마스크는 특성의 두 번째 하위 집합을 포함합니다. 첫 번째 하위 집합은 SQL_KEYSET_CURSOR_ATTRIBUTES1 참조하세요.

다음 비트 마스크는 지원되는 특성을 결정하는 데 사용됩니다.
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

이러한 비트 마스크에 대한 설명은 SQL_DYNAMIC_CURSOR_ATTRIBUTES1(설명에서 "동적 커서"로 "키 집합 기반 커서"로 대체)을 참조하세요.
SQL_KEYWORDS 2.0 모든 데이터 원본별 키워드의 쉼표로 구분된 목록을 포함하는 문자열입니다. 이 목록에는 ODBC와 관련된 키워드 또는 데이터 원본과 ODBC에서 사용하는 키워드가 포함되어 있지 않습니다. 이 목록은 예약된 모든 키워드를 나타냅니다. 상호 운용 가능한 애플리케이션은 개체 이름에 이러한 단어를 사용하면 안 됩니다.

ODBC 키워드 목록은 부록 C: SQL 문법예약 키워드를 참조하세요. SQL_ODBC_KEYWORDS #define 값에는 쉼표로 구분된 ODBC 키워드 목록이 포함되어 있습니다.
SQL_LIKE_ESCAPE_CLAUSE 2.0 문자 문자열: 데이터 원본이 LIKE 조건자의 백분율 문자(%) 및 밑줄 문자(_)에 대한 이스케이프 문자를 지원하고 드라이버가 LIKE 조건자 이스케이프 문자를 정의하기 위한 ODBC 구문을 지원하는 경우 "Y"입니다. 그렇지 않으면 "N"입니다.
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS 3.0 드라이버가 지정된 연결에서 지원할 수 있는 비동기 모드에서 활성 동시 문의 최대 수를 지정하는 SQLUINTEGER 값입니다. 특정 제한이 없거나 제한을 알 수 없는 경우 이 값은 0입니다.
SQL_MAX_BINARY_LITERAL_LEN 2.0 SQL 문에서 이진 리터럴의 최대 길이(SQLGetTypeInfo에서 반환된 리터럴 접두사 및 접미사를 제외한 16진수 문자 수)를 지정하는 SQLUINTEGER 값입니다. 예를 들어 이진 리터럴 0xFFAA 길이는 4입니다. 최대 길이가 없거나 길이를 알 수 없는 경우 이 값은 0으로 설정됩니다.
SQL_MAX_CATALOG_NAME_LEN 1.0 데이터 원본에서 카탈로그 이름의 최대 길이를 지정하는 SQLUSMALLINT 값입니다. 최대 길이가 없거나 길이를 알 수 없는 경우 이 값은 0으로 설정됩니다.

FIPS 전체 수준 준수 드라이버는 적어도 128을 반환합니다.

InfoType은 ODBC 2.0 InfoType SQL_MAX_QUALIFIER_NAME_LEN ODBC 3.0의 이름이 바뀌었습니다.
SQL_MAX_CHAR_LITERAL_LEN 2.0 SQL 문에서 문자 리터럴의 최대 길이(리터럴 접두사 및 SQLGetTypeInfo에서 반환된 접미사를 제외한 문자 수)를 지정하는 SQLUINTEGER 값입니다. 최대 길이가 없거나 길이를 알 수 없는 경우 이 값은 0으로 설정됩니다.
SQL_MAX_COLUMN_NAME_LEN 1.0 데이터 원본에서 열 이름의 최대 길이를 지정하는 SQLUSMALLINT 값입니다. 최대 길이가 없거나 길이를 알 수 없는 경우 이 값은 0으로 설정됩니다.

FIPS 항목 수준 준수 드라이버는 18개 이상을 반환합니다. FIPS 중간 수준 준수 드라이버는 적어도 128을 반환합니다.
SQL_MAX_COLUMNS_IN_GROUP_BY 2.0 GROUP BY 절에 허용되는 최대 열 수를 지정하는 SQLUSMALLINT 값입니다. 지정된 제한이 없거나 제한을 알 수 없는 경우 이 값은 0으로 설정됩니다.

FIPS 항목 수준 준수 드라이버는 6개 이상을 반환합니다. FIPS 중간 수준 준수 드라이버는 15개 이상을 반환합니다.
SQL_MAX_COLUMNS_IN_INDEX 2.0 인덱스에 허용되는 최대 열 수를 지정하는 SQLUSMALLINT 값입니다. 지정된 제한이 없거나 제한을 알 수 없는 경우 이 값은 0으로 설정됩니다.
SQL_MAX_COLUMNS_IN_ORDER_BY 2.0 ORDER BY 절에 허용되는 최대 열 수를 지정하는 SQLUSMALLINT 값입니다. 지정된 제한이 없거나 제한을 알 수 없는 경우 이 값은 0으로 설정됩니다.

FIPS 항목 수준 준수 드라이버는 6개 이상을 반환합니다. FIPS 중간 수준 준수 드라이버는 15개 이상을 반환합니다.
SQL_MAX_COLUMNS_IN_SELECT 2.0 선택 목록에서 허용되는 최대 열 수를 지정하는 SQLUSMALLINT 값입니다. 지정된 제한이 없거나 제한을 알 수 없는 경우 이 값은 0으로 설정됩니다.

FIPS 항목 수준 준수 드라이버는 100개 이상을 반환합니다. FIPS 중간 수준 준수 드라이버는 250개 이상을 반환합니다.
SQL_MAX_COLUMNS_IN_TABLE 2.0 테이블에서 허용되는 최대 열 수를 지정하는 SQLUSMALLINT 값입니다. 지정된 제한이 없거나 제한을 알 수 없는 경우 이 값은 0으로 설정됩니다.

FIPS 항목 수준 준수 드라이버는 100개 이상을 반환합니다. FIPS 중간 수준 준수 드라이버는 250개 이상을 반환합니다.
SQL_MAX_CONCURRENT_ACTIVITIES 1.0 드라이버가 연결을 지원할 수 있는 최대 활성 문 수를 지정하는 SQLUSMALLINT 값입니다. 문이 보류 중인 결과가 있는 경우 활성으로 정의됩니다. "결과"라는 용어는 SELECT 작업 또는 INSERT, UPDATE 또는 DELETE 작업(예: 행 수)의 영향을 받는 행의 행을 의미하거나 NEED_DATA 상태에 있는 경우입니다. 이 값은 드라이버 또는 데이터 원본에 의해 부과된 제한을 반영할 수 있습니다. 지정된 제한이 없거나 제한을 알 수 없는 경우 이 값은 0으로 설정됩니다.

InfoType은 ODBC 2.0 InfoType SQL_ACTIVE_STATEMENTS ODBC 3.0의 이름이 바뀌었습니다.
SQL_MAX_CURSOR_NAME_LEN 1.0 데이터 원본에서 커서 이름의 최대 길이를 지정하는 SQLUSMALLINT 값입니다. 최대 길이가 없거나 길이를 알 수 없는 경우 이 값은 0으로 설정됩니다.

FIPS 항목 수준 준수 드라이버는 18개 이상을 반환합니다. FIPS 중간 수준 준수 드라이버는 적어도 128을 반환합니다.
SQL_MAX_DRIVER_CONNECTIONS 1.0 드라이버가 환경에 대해 지원할 수 있는 최대 활성 연결 수를 지정하는 SQLUSMALLINT 값입니다. 이 값은 드라이버 또는 데이터 원본에 의해 부과된 제한을 반영할 수 있습니다. 지정된 제한이 없거나 제한을 알 수 없는 경우 이 값은 0으로 설정됩니다.

InfoType은 ODBC 2.0 InfoType SQL_ACTIVE_CONNECTIONS ODBC 3.0의 이름이 바뀌었습니다.
SQL_MAX_IDENTIFIER_LEN 3.0 데이터 원본이 사용자 정의 이름에 대해 지원하는 최대 문자 크기를 나타내는 SQLUSMALLINT입니다.

FIPS 항목 수준 준수 드라이버는 18개 이상을 반환합니다. FIPS 중간 수준 준수 드라이버는 적어도 128을 반환합니다.
SQL_MAX_INDEX_SIZE 2.0 인덱스의 결합된 필드에 허용되는 최대 바이트 수를 지정하는 SQLUINTEGER 값입니다. 지정된 제한이 없거나 제한을 알 수 없는 경우 이 값은 0으로 설정됩니다.
SQL_MAX_PROCEDURE_NAME_LEN 1.0 데이터 원본에서 프로시저 이름의 최대 길이를 지정하는 SQLUSMALLINT 값입니다. 최대 길이가 없거나 길이를 알 수 없는 경우 이 값은 0으로 설정됩니다.
SQL_MAX_ROW_SIZE 2.0 테이블에서 단일 행의 최대 길이를 지정하는 SQLUINTEGER 값입니다. 지정된 제한이 없거나 제한을 알 수 없는 경우 이 값은 0으로 설정됩니다.

FIPS 항목 수준 준수 드라이버는 2,000개 이상을 반환합니다. FIPS 중간 수준 준수 드라이버는 8,000개 이상을 반환합니다.
SQL_MAX_ROW_SIZE_INCLUDES_LONG 3.0 문자열: SQL_MAX_ROW_SIZE 정보 형식에 대해 반환되는 최대 행 크기에 행의 모든 SQL_LONGVARCHAR 및 SQL_LONGVARBINARY 열의 길이가 포함된 경우 "Y"입니다. 그렇지 않으면 "N"입니다.
SQL_MAX_SCHEMA_NAME_LEN 1.0 데이터 원본에서 스키마 이름의 최대 길이를 지정하는 SQLUSMALLINT 값입니다. 최대 길이가 없거나 길이를 알 수 없는 경우 이 값은 0으로 설정됩니다.

FIPS 항목 수준 준수 드라이버는 18개 이상을 반환합니다. FIPS 중간 수준 준수 드라이버는 적어도 128을 반환합니다.

InfoType은 ODBC 2.0 InfoType SQL_MAX_OWNER_NAME_LEN ODBC 3.0의 이름이 바뀌었습니다.
SQL_MAX_STATEMENT_LEN 2.0 SQL 문의 최대 길이(공백 포함 문자 수)를 지정하는 SQLUINTEGER 값입니다. 최대 길이가 없거나 길이를 알 수 없는 경우 이 값은 0으로 설정됩니다.
SQL_MAX_TABLE_NAME_LEN 1.0 데이터 원본에서 테이블 이름의 최대 길이를 지정하는 SQLUSMALLINT 값입니다. 최대 길이가 없거나 길이를 알 수 없는 경우 이 값은 0으로 설정됩니다.

FIPS 항목 수준 준수 드라이버는 18개 이상을 반환합니다. FIPS 중간 수준 준수 드라이버는 적어도 128을 반환합니다.
SQL_MAX_TABLES_IN_SELECT 2.0 SELECT 문의 FROM 절에 허용되는 최대 테이블 수를 지정하는 SQLUSMALLINT 값입니다. 지정된 제한이 없거나 제한을 알 수 없는 경우 이 값은 0으로 설정됩니다.

FIPS 항목 수준 준수 드라이버는 15개 이상을 반환합니다. FIPS 중간 수준 준수 드라이버는 50개 이상을 반환합니다.
SQL_MAX_USER_NAME_LEN 2.0 데이터 원본에서 사용자 이름의 최대 길이를 지정하는 SQLUSMALLINT 값입니다. 최대 길이가 없거나 길이를 알 수 없는 경우 이 값은 0으로 설정됩니다.
SQL_MULT_RESULT_SETS 1.0 문자열: 데이터 원본이 여러 결과 집합을 지원하는 경우 "Y"이고, 그렇지 않으면 "N"입니다.

여러 결과 집합에 대한 자세한 내용은 여러 결과를 참조하세요.
SQL_MULTIPLE_ACTIVE_TXN 1.0 문자열: 드라이버가 동시에 둘 이상의 활성 트랜잭션을 지원하는 경우 "Y"이고, 한 번에 하나의 트랜잭션만 활성화할 수 있으면 "N"입니다.

이 정보 유형에 대해 반환된 정보는 분산 트랜잭션의 경우 적용되지 않습니다.
SQL_NEED_LONG_DATA_LEN 2.0 문자열: 데이터 원본에 긴 데이터 값의 길이가 필요한 경우(데이터 형식이 SQL_LONGVARCHAR, SQL_LONGVARBINARY 또는 긴 데이터 원본별 데이터 형식인 경우) 해당 값이 데이터 원본으로 전송되기 전에 "N"입니다. 자세한 내용은 SQLBindParameter 함수SQLSetPos 함수를 참조하세요.
SQL_NON_NULLABLE_COLUMNS 1.0 데이터 원본이 열에서 NOT NULL을 지원하는지 여부를 지정하는 SQLUSMALLINT 값입니다.
SQL_NNC_NULL = 모든 열은 null을 허용해야 합니다.
SQL_NNC_NON_NULL = 열은 null을 허용하지 않습니다. (데이터 원본은 다음을 지원합니다.CREATE TABLE 문의 NOT NULL 열 제약 조건입니다.)

SQL-92 항목 수준 준수 드라이버는 SQL_NNC_NON_NULL 반환합니다.
SQL_NULL_COLLATION 2.0 결과 집합에서 NULL이 정렬되는 위치를 지정하는 SQLUSMALLINT 값입니다.
SQL_NC_END = NULL은 ASC 또는 DESC 키워드에 관계없이 결과 집합의 끝에 정렬됩니다.
SQL_NC_HIGH = NULL은 ASC 또는 DESC 키워드에 따라 결과 집합의 하이 엔드에서 정렬됩니다.
SQL_NC_LOW = NULL은 ASC 또는 DESC 키워드에 따라 결과 집합의 아래쪽 끝에서 정렬됩니다.
SQL_NC_START = NULL은 ASC 또는 DESC 키워드에 관계없이 결과 집합의 시작 부분에 정렬됩니다.
SQL_NUMERIC_FUNCTIONS 1.0 참고: 정보 유형은 ODBC 1.0에서 도입되었습니다. 각 비트 마스크는 도입된 버전으로 레이블이 지정됩니다.

드라이버 및 관련 데이터 원본에서 지원하는 스칼라 숫자 함수를 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 숫자 함수를 결정하는 데 사용됩니다.
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 드라이버가 준수하는 ODBC 3*.x* 인터페이스의 수준을 나타내는 SQLUINTEGER 값입니다.

SQL_OIC_CORE: 모든 ODBC 드라이버가 준수해야 하는 최소 수준입니다. 이 수준에는 연결 함수, SQL 문을 준비하고 실행하기 위한 함수, 기본 결과 집합 메타데이터 함수, 기본 카탈로그 함수 등과 같은 기본 인터페이스 요소가 포함됩니다.
SQL_OIC_LEVEL1: 핵심 표준 준수 수준 기능과 스크롤 가능한 커서, 책갈피, 배치된 업데이트 및 삭제 등을 포함하는 수준입니다.
SQL_OIC_LEVEL2: 수준 1 표준 준수 수준 기능과 중요한 커서와 같은 고급 기능을 포함하는 수준입니다. 책갈피로 업데이트, 삭제 및 새로 고침; 저장 프로시저 지원; 기본 키와 외세의 키에 대한 카탈로그 함수 다중 카탈로그 지원; 등등.

자세한 내용은 인터페이스 규칙 수준을 참조 하세요.
SQL_ODBC_VER 1.0 드라이버 관리자가 준수하는 ODBC 버전이 있는 문자 문자열입니다. 버전은 ##.##.0000 형식으로, 처음 두 자리는 주 버전이고 다음 두 자리는 부 버전입니다. 드라이버 관리자에서만 구현됩니다.
SQL_OJ_CAPABILITIES 2.01 드라이버 및 데이터 원본에서 지원하는 외부 조인 유형을 열거하는 SQLUINTEGER 비트 마스크입니다. 다음 비트 마스크는 지원되는 형식을 결정하는 데 사용됩니다.
SQL_OJ_LEFT = 왼쪽 외부 조인이 지원됩니다.
SQL_OJ_RIGHT = 오른쪽 외부 조인이 지원됩니다.
SQL_OJ_FULL = 전체 외부 조인이 지원됩니다.
SQL_OJ_NESTED = 중첩된 외부 조인이 지원됩니다.
SQL_OJ_NOT_ORDERED = 외부 조인의 ON 절에 있는 열 이름은 OUTER JOIN 절의 해당 테이블 이름과 순서가 같을 필요가 없습니다.
SQL_OJ_INNER = 내부 테이블(왼쪽 외부 조인의 오른쪽 테이블 또는 오른쪽 외부 조인의 왼쪽 테이블)도 내부 조인에서 사용할 수 있습니다. 내부 테이블이 없는 전체 외부 조인에는 적용되지 않습니다.
SQL_OJ_ALL_COMPARISON_OPS = ON 절의 비교 연산자는 ODBC 비교 연산자일 수 있습니다. 이 비트를 설정하지 않으면 등호(=) 비교 연산자만 외부 조인에서 사용할 수 있습니다.

이러한 옵션 중 어느 것도 지원되는 것으로 반환되지 않으면 외부 조인 절이 지원되지 않습니다.

SQL-92에 정의된 SELECT 문에서 관계형 조인 연산자의 지원에 대한 자세한 내용은 SQL_SQL92_RELATIONAL_JOIN_OPERATORS 참조하세요.
SQL_ORDER_BY_COLUMNS_IN_SELECT 2.0 문자열: ORDER BY 절의 열이 선택 목록에 있어야 하는 경우 "Y"이고, 그렇지 않으면 "N"입니다.
SQL_PARAM_ARRAY_ROW_COUNTS 3.0 매개 변수가 있는 실행에서 행 개수의 가용성과 관련하여 드라이버의 속성을 열거하는 SQLUINTEGER입니다. 값은 다음과 같습니다.
SQL_PARC_BATCH = 각 매개 변수 집합에 대해 개별 행 수를 사용할 수 있습니다. 이는 배열에 설정된 각 매개 변수에 대해 하나씩 SQL 문의 일괄 처리를 생성하는 드라이버와 개념적으로 동일합니다. 확장 오류 정보는 SQL_PARAM_STATUS_PTR 설명자 필드를 사용하여 검색할 수 있습니다.
SQL_PARC_NO_BATCH = 하나의 행 개수만 사용할 수 있습니다. 이는 전체 매개 변수 배열에 대한 문 실행으로 인한 누적 행 수입니다. 이는 전체 매개 변수 배열과 함께 문을 하나의 원자 단위로 처리하는 것과 개념적으로 동일합니다. 오류는 하나의 문이 실행된 경우와 동일하게 처리됩니다.
SQL_PARAM_ARRAY_SELECTS 3.0 매개 변수가 있는 실행에서 결과 집합의 가용성과 관련하여 드라이버의 속성을 열거하는 SQLUINTEGER입니다. 값은 다음과 같습니다.
SQL_PAS_BATCH = 매개 변수 집합당 하나의 결과 집합을 사용할 수 있습니다. 이는 배열에 설정된 각 매개 변수에 대해 하나씩 SQL 문의 일괄 처리를 생성하는 드라이버와 개념적으로 동일합니다.
SQL_PAS_NO_BATCH = 매개 변수의 전체 배열에 대한 문의 실행으로 인한 누적 결과 집합을 나타내는 하나의 결과 집합만 사용할 수 있습니다. 이는 전체 매개 변수 배열과 함께 문을 하나의 원자 단위로 처리하는 것과 개념적으로 동일합니다.
SQL_PAS_NO_SELECT = 드라이버는 매개 변수 배열을 사용하여 결과 집합 생성 문을 실행할 수 없습니다.
SQL_POS_OPERATIONS 2.0 SQLSetPos에서 지원 작업을 열거하는 SQLINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 옵션을 결정하기 위해 플래그와 함께 사용됩니다.
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 프로시저에 대한 데이터 원본 공급업체 이름이 있는 문자열입니다. 예를 들어 "데이터베이스 프로시저", "저장 프로시저", "procedure", "package" 또는 "저장된 쿼리"가 있습니다.
SQL_PROCEDURES 1.0 문자열: 데이터 원본이 프로시저를 지원하고 드라이버가 ODBC 프로시저 호출 구문을 지원하는 경우 "Y"입니다. 그렇지 않으면 "N"입니다.
SQL_QUOTED_IDENTIFIER_CASE 2.0 SQLUSMALLINT 값은 다음과 같습니다.
SQL_IC_UPPER = SQL의 따옴표 붙은 식별자는 대/소문자를 구분하지 않으며 시스템 카탈로그의 대문자로 저장됩니다.
SQL_IC_LOWER = SQL의 따옴표 붙은 식별자는 대/소문자를 구분하지 않으며 시스템 카탈로그의 소문자로 저장됩니다.
SQL_IC_SENSITIVE = SQL의 따옴표 붙은 식별자는 대/소문자를 구분하며 시스템 카탈로그의 혼합 사례에 저장됩니다. (SQL-92 규격 데이터베이스에서 따옴표 붙은 식별자는 항상 대/소문자를 구분합니다.)
SQL_IC_MIXED = SQL의 따옴표 붙은 식별자는 대/소문자를 구분하지 않으며 시스템 카탈로그의 혼합 사례에 저장됩니다.

SQL-92 엔트리 수준 준수 드라이버는 항상 SQL_IC_SENSITIVE 반환합니다.
SQL_ROW_UPDATES 1.0 문자 문자열: 키 집합 기반 또는 혼합 커서가 가져온 모든 행에 대한 행 버전 또는 값을 유지 관리하므로 행을 마지막으로 가져온 이후 사용자가 행에 대해 수행한 업데이트를 검색할 수 있는 경우 "Y"입니다. 삭제 또는 삽입이 아닌 업데이트에만 적용됩니다. 드라이버는 SQLFetchScroll이 호출되면 행 상태 배열에 SQL_ROW_UPDATED 플래그를 반환할 수 있습니다. 그렇지 않으면 "N"입니다.
SQL_SCHEMA_TERM 1.0 스키마에 대한 데이터 원본 공급업체 이름이 있는 문자열입니다. 예를 들어 "owner", "Authorization ID" 또는 "Schema"입니다.

문자 문자열은 대/소문자, 아래쪽 또는 혼합 대/소문자로 반환할 수 있습니다.

SQL-92 항목 수준 준수 드라이버는 항상 "스키마"를 반환합니다.

InfoType은 ODBC 2.0 InfoType SQL_OWNER_TERM ODBC 3.0의 이름이 바뀌었습니다.
SQL_SCHEMA_USAGE 2.0 스키마를 사용할 수 있는 문을 열거하는 SQLUINTEGER 비트 마스크입니다.
SQL_SU_DML_STATEMENTS = 스키마는 SELECT, INSERT, UPDATE, DELETE 등의 모든 데이터 조작 언어 문에서 지원되며, 지원되는 경우 SELECT FOR UPDATE 및 배치된 업데이트 및 삭제 문입니다.
SQL_SU_PROCEDURE_INVOCATION = 스키마는 ODBC 프로시저 호출 문에서 지원됩니다.
SQL_SU_TABLE_DEFINITION = 스키마는 CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE 및 DROP VIEW같은 모든 테이블 정의 문에서 지원됩니다.
SQL_SU_INDEX_DEFINITION = 스키마는 CREATE INDEX 및 DROP INDEX같은 모든 인덱정의 문에서 지원됩니다.
SQL_SU_PRIVILEGE_DEFINITION = 스키마는 GRANT 및 REVOKE모든 권한 정의 문에서 지원됩니다.

SQL-92 항목 수준 준수 드라이버는 지원되는 대로 항상 SQL_SU_DML_STATEMENTS, SQL_SU_TABLE_DEFINITION 및 SQL_SU_PRIVILEGE_DEFINITION 옵션을 반환합니다.

InfoType은 ODBC 2.0 InfoType SQL_OWNER_USAGE ODBC 3.0의 이름이 바뀌었습니다.
SQL_SCROLL_OPTIONS 1.0 참고: 정보 유형은 ODBC 1.0에서 도입되었습니다. 각 비트 마스크는 도입된 버전으로 레이블이 지정됩니다.

스크롤 가능한 커서에 지원되는 스크롤 옵션을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 옵션을 결정하는 데 사용됩니다.
SQL_SO_FORWARD_ONLY = 커서가 앞으로만 스크롤됩니다. (ODBC 1.0)
SQL_SO_STATIC = 결과 집합의 데이터가 정적입니다. (ODBC 2.0)
SQL_SO_KEYSET_DRIVEN = 드라이버가 결과 집합의 모든 행에 대한 키를 저장하고 사용합니다. (ODBC 1.0)
SQL_SO_DYNAMIC = 드라이버는 행 집합의 모든 행에 대한 키를 유지합니다(키 집합 크기는 행 집합 크기와 동일). (ODBC 1.0)
SQL_SO_MIXED = 드라이버는 키 집합의 모든 행에 대한 키를 유지하고 키 집합 크기는 행 집합 크기보다 큽니다. 커서는 키 집합 내에서 키 집합을 구동하고 키 집합 외부의 동적입니다. (ODBC 1.0)

스크롤 가능한 커서에 대한 자세한 내용은 스크롤 가능한 커서를 참조 하세요.
SQL_SEARCH_PATTERN_ESCAPE 1.0 드라이버가 지원하는 항목을 이스케이프 문자로 지정하는 문자열로, 패턴 일치 메타문자 밑줄(_) 및 백분율 기호(%)를 검색 패턴에서 유효한 문자로 사용할 수 있습니다. 이 이스케이프 문자는 검색 문자열을 지원하는 카탈로그 함수 인수에만 적용됩니다. 이 문자열이 비어 있으면 드라이버는 검색 패턴 이스케이프 문자를 지원하지 않습니다.

이 정보 형식은 LIKE 조건자의 이스케이프 문자에 대한 일반적인 지원을 나타내지 않으므로 SQL-92는 이 문자열에 대한 요구 사항을 포함하지 않습니다.

InfoType 은 카탈로그 함수로 제한됩니다. 검색 패턴 문자열에서 이스케이프 문자를 사용하는 방법은 패턴 값 인수를 참조하세요.
SQL_SERVER_NAME 1.0 실제 데이터 원본별 서버 이름을 가진 문자열입니다. 는 SQLConnect, SQLDriverConnectSQLBrowseConnect 중에 데이터 원본 이름을 사용할 때 유용합니다.
SQL_SPECIAL_CHARACTERS 2.0 데이터 원본의 테이블 이름, 열 이름 또는 인덱스 이름과 같은 식별자 이름에 사용할 수 있는 모든 특수 문자(즉, a-z, A~ Z, 0~9 및 밑줄을 제외한 모든 문자)를 포함하는 문자열입니다. 예를 들어 "#$^"입니다. 식별자에 이러한 문자가 하나 이상 포함된 경우 식별자는 구분된 식별자여야 합니다.
SQL_SQL_CONFORMANCE 3.0 드라이버에서 지원하는 SQL-92 수준을 나타내는 SQLUINTEGER 값입니다.
SQL_SC_SQL92_ENTRY = 항목 수준 SQL-92 규격입니다.
SQL_SC_FIPS127_2_TRANSITIONAL = FIPS 127-2 전환 수준 준수.
SQL_SC_SQL92_FULL = 전체 수준 SQL-92 규격입니다.
SQL_SC_ SQL92_INTERMEDIATE = 중간 수준 SQL-92 규격입니다.
SQL_SQL92_DATETIME_FUNCTIONS 3.0 SQL-92에 정의된 대로 드라이버 및 관련 데이터 원본에서 지원하는 datetime 스칼라 함수를 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 datetime 함수를 결정하는 데 사용됩니다.
SQL_SDF_CURRENT_DATE
SQL_SDF_CURRENT_TIME
SQL_SDF_CURRENT_TIMESTAMP
SQL_SQL92_FOREIGN_KEY_DELETE_RULE 3.0 SQL-92에 정의된 DELETE 문에서 외래 키에 대해 지원되는 규칙을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 데이터 원본에서 지원되는 절을 결정하는 데 사용됩니다.
SQL_SFKD_CASCADE
SQL_SFKD_NO_ACTION
SQL_SFKD_SET_DEFAULT
SQL_SFKD_SET_NULL

FIPS 전환 수준 준수 드라이버는 항상 지원되는 모든 옵션을 반환합니다.
SQL_SQL92_FOREIGN_KEY_UPDATE_RULE 3.0 SQL-92에 정의된 대로 UPDATE 문에서 외래 키에 대해 지원되는 규칙을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 데이터 원본에서 지원되는 절을 결정하는 데 사용됩니다.
SQL_SFKU_CASCADE
SQL_SFKU_NO_ACTION
SQL_SFKU_SET_DEFAULT
SQL_SFKU_SET_NULL

SQL-92 전체 수준 준수 드라이버는 항상 지원되는 모든 옵션을 반환합니다.
SQL_SQL92_GRANT 3.0 SQL-92에 정의된 GRANT 문에서 지원되는 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

이 기능을 지원해야 하는 SQL-92 또는 FIPS 규칙 수준은 각 비트 마스크 옆에 괄호로 표시됩니다.

다음 비트 마스크는 데이터 원본에서 지원되는 절을 결정하는 데 사용됩니다.
SQL_SG_DELETE_TABLE(항목 수준)
SQL_SG_INSERT_COLUMN(중간 수준)
SQL_SG_INSERT_TABLE(항목 수준)
SQL_SG_REFERENCES_TABLE(항목 수준)
SQL_SG_REFERENCES_COLUMN(항목 수준)
SQL_SG_SELECT_TABLE(항목 수준)
SQL_SG_UPDATE_COLUMN(항목 수준)
SQL_SG_UPDATE_TABLE(항목 수준)
SQL_SG_USAGE_ON_DOMAIN(FIPS 전환 수준)
SQL_SG_USAGE_ON_CHARACTER_SET(FIPS 전환 수준)
SQL_SG_USAGE_ON_COLLATION(FIPS 전환 수준)
SQL_SG_USAGE_ON_TRANSLATION(FIPS 전환 수준)
SQL_SG_WITH_GRANT_OPTION(항목 수준)
SQL_SQL92_NUMERIC_VALUE_FUNCTIONS 3.0 SQL-92에 정의된 대로 드라이버 및 관련 데이터 원본에서 지원하는 숫자 값 스칼라 함수를 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 숫자 함수를 결정하는 데 사용됩니다.
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 SQL-92에 정의된 대로 SELECT 문에서 지원되는 조건자를 열거하는 SQLUINTEGER 비트 마스크입니다.

이 기능을 지원해야 하는 SQL-92 또는 FIPS 규칙 수준은 각 비트 마스크 옆에 괄호로 표시됩니다.

다음 비트 마스크는 데이터 원본에서 지원되는 옵션을 결정하는 데 사용됩니다.
SQL_SP_BETWEEN(항목 수준)
SQL_SP_COMPARISON(항목 수준)
SQL_SP_EXISTS(항목 수준)
SQL_SP_IN(항목 수준)
SQL_SP_ISNOTNULL(항목 수준)
SQL_SP_ISNULL(항목 수준)
SQL_SP_LIKE(항목 수준)
SQL_SP_MATCH_FULL(전체 수준)
SQL_SP_MATCH_PARTIAL(전체 수준)
SQL_SP_MATCH_UNIQUE_FULL(전체 수준)
SQL_SP_MATCH_UNIQUE_PARTIAL(전체 수준)
SQL_SP_OVERLAPS(FIPS 전환 수준)
SQL_SP_QUANTIFIED_COMPARISON(항목 수준)
SQL_SP_UNIQUE(항목 수준)
SQL_SQL92_RELATIONAL_JOIN_OPERATORS 3.0 SQL-92에 정의된 대로 SELECT 문에서 지원되는 관계형 조인 연산자를 열거하는 SQLUINTEGER 비트 마스크입니다.

이 기능을 지원해야 하는 SQL-92 또는 FIPS 규칙 수준은 각 비트 마스크 옆에 괄호로 표시됩니다.

다음 비트 마스크는 데이터 원본에서 지원되는 옵션을 결정하는 데 사용됩니다.
SQL_SRJO_CORRESPONDING_CLAUSE(중간 수준)
SQL_SRJO_CROSS_JOIN(전체 수준)
SQL_SRJO_EXCEPT_JOIN(중간 수준)
SQL_SRJO_FULL_OUTER_JOIN(중간 수준)
SQL_SRJO_INNER_JOIN(FIPS 전환 수준)
SQL_SRJO_INTERSECT_JOIN(중간 수준)
SQL_SRJO_LEFT_OUTER_JOIN(FIPS 전환 수준)
SQL_SRJO_NATURAL_JOIN(FIPS 전환 수준)
SQL_SRJO_RIGHT_OUTER_JOIN(FIPS 전환 수준)
SQL_SRJO_UNION_JOIN(전체 수준)

SQL_SRJO_INNER_JOIN 내부 조인 기능이 아니라 INNER JOIN 구문에 대한 지원을 나타냅니다. INNER JOIN 구문에 대한 지원은 FIPS TRANSITIONAL이지만 내부 조인 기능에 대한 지원은 ENTRY입니다.
SQL_SQL92_REVOKE 3.0 데이터 원본에서 지원하는 SQL-92에 정의된 대로 REVOKE 문에서 지원되는 절을 열거하는 SQLUINTEGER 비트 마스크입니다.

이 기능을 지원해야 하는 SQL-92 또는 FIPS 규칙 수준은 각 비트 마스크 옆에 괄호로 표시됩니다.

다음 비트 마스크는 데이터 원본에서 지원되는 절을 결정하는 데 사용됩니다.
SQL_SR_CASCADE(FIPS 전환 수준)
SQL_SR_DELETE_TABLE(항목 수준)
SQL_SR_GRANT_OPTION_FOR(중간 수준)
SQL_SR_INSERT_COLUMN(중간 수준)
SQL_SR_INSERT_TABLE(항목 수준)
SQL_SR_REFERENCES_COLUMN(항목 수준)
SQL_SR_REFERENCES_TABLE(항목 수준)
SQL_SR_RESTRICT(FIPS 전환 수준)
SQL_SR_SELECT_TABLE(항목 수준)
SQL_SR_UPDATE_COLUMN(항목 수준)
SQL_SR_UPDATE_TABLE(항목 수준)
SQL_SR_USAGE_ON_DOMAIN(FIPS 전환 수준)
SQL_SR_USAGE_ON_CHARACTER_SET(FIPS 전환 수준)
SQL_SR_USAGE_ON_COLLATION(FIPS 전환 수준)
SQL_SR_USAGE_ON_TRANSLATION(FIPS 전환 수준)
SQL_SQL92_ROW_VALUE_CONSTRUCTOR 3.0 SQL-92에 정의된 대로 SELECT 문에서 지원되는 행 값 생성자 식을 열거하는 SQLUINTEGER 비트 마스크입니다. 다음 비트 마스크는 데이터 원본에서 지원되는 옵션을 결정하는 데 사용됩니다.
SQL_SRVC_VALUE_EXPRESSION
SQL_SRVC_NULL
SQL_SRVC_DEFAULT
SQL_SRVC_ROW_SUBQUERY
SQL_SQL92_STRING_FUNCTIONS 3.0 SQL-92에 정의된 대로 드라이버 및 관련 데이터 원본에서 지원하는 문자열 스칼라 함수를 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 문자열 함수를 결정하는 데 사용됩니다.
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 SQL-92에 정의된 대로 지원되는 값 식을 열거하는 SQLUINTEGER 비트 마스크입니다.

이 기능을 지원해야 하는 SQL-92 또는 FIPS 규칙 수준은 각 비트 마스크 옆에 괄호로 표시됩니다.

다음 비트 마스크는 데이터 원본에서 지원되는 옵션을 결정하는 데 사용됩니다.
SQL_SVE_CASE(중간 수준)
SQL_SVE_CAST(FIPS 전환 수준)
SQL_SVE_COALESCE(중간 수준)
SQL_SVE_NULLIF(중간 수준)
SQL_STANDARD_CLI_CONFORMANCE 3.0 드라이버가 준수하는 CLI 표준 또는 표준을 열거하는 SQLUINTEGER 비트 마스크입니다. 다음 비트 마스크는 드라이버가 준수하는 수준을 결정하는 데 사용됩니다.
SQL_SCC_XOPEN_CLI_VERSION1: 드라이버는 Open Group CLI 버전 1을 준수합니다.
SQL_SCC_ISO92_CLI: 드라이버는 ISO 92 CLI를 준수합니다.
SQL_STATIC_CURSOR_ATTRIBUTES1 3.0 드라이버에서 지원하는 정적 커서의 특성을 설명하는 SQLUINTEGER 비트 마스크입니다. 이 비트 마스크에는 특성의 첫 번째 하위 집합이 포함됩니다. 두 번째 하위 집합은 SQL_STATIC_CURSOR_ATTRIBUTES2 참조하세요.

다음 비트 마스크는 지원되는 특성을 결정하는 데 사용됩니다.
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

이러한 비트 마스크에 대한 설명은 SQL_DYNAMIC_CURSOR_ATTRIBUTES1 참조하세요(설명에서 "동적 커서"로 "정적 커서"로 대체).

SQL-92 중간 수준 준수 드라이버는 일반적으로 포함된 SQL FETCH 문을 통해 스크롤 가능한 커서를 지원하므로 지원되는 SQL_CA1_NEXT, SQL_CA1_ABSOLUTE 및 SQL_CA1_RELATIVE 옵션을 반환합니다. 그러나 기본 SQL 지원을 직접 결정하지는 않으므로 SQL-92 중간 수준 준수 드라이버의 경우에도 스크롤 가능한 커서가 지원되지 않을 수 있습니다.
SQL_STATIC_CURSOR_ATTRIBUTES2 3.0 드라이버에서 지원하는 정적 커서의 특성을 설명하는 SQLUINTEGER 비트 마스크입니다. 이 비트 마스크는 특성의 두 번째 하위 집합을 포함합니다. 첫 번째 하위 집합은 SQL_STATIC_CURSOR_ATTRIBUTES1 참조하세요.

다음 비트 마스크는 지원되는 특성을 결정하는 데 사용됩니다.
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

이러한 비트 마스크에 대한 설명은 SQL_DYNAMIC_CURSOR_ATTRIBUTES2 참조하세요(설명에서 "동적 커서"로 "정적 커서"로 대체).
SQL_STRING_FUNCTIONS 1.0 참고: 정보 유형은 ODBC 1.0에서 도입되었습니다. 각 비트 마스크는 도입된 버전으로 레이블이 지정됩니다.

드라이버 및 관련 데이터 원본에서 지원하는 스칼라 문자열 함수를 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 문자열 함수를 결정하는 데 사용됩니다.
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)

애플리케이션이 string_exp1, string_exp2 및 시작 인수를 사용하여 LOCATE 스칼라 함수를 호출할 수 있으면 드라이버는 SQL_FN_STR_LOCATE 비트 마스크를 반환합니다. 애플리케이션에서 string_exp1 및 string_exp2 인수만 사용하여 LOCATE 스칼라 함수를 호출할 수 있으면 드라이버는 SQL_FN_STR_LOCATE_2 비트 마스크를 반환합니다. LOCATE 스칼라 함수를 완전히 지원하는 드라이버는 두 비트 마스크를 모두 반환합니다.

(자세한 내용은 를 참조하세요 .부록 E의 문자열 함수 , "스칼라 함수.")
SQL_SUBQUERIES 2.0 하위 쿼리를 지원하는 조건자를 열거하는 SQLUINTEGER 비트 마스크입니다.
SQL_SQ_CORRELATED_SUBQUERIES
SQL_SQ_COMPARISON
SQL_SQ_EXISTS
SQL_SQ_INSQL_SQ_QUANTIFIED

SQL_SQ_CORRELATED_SUBQUERIES 비트 마스크는 하위 쿼리를 지원하는 모든 조건자가 상호 관련된 하위 쿼리를 지원한다는 것을 나타냅니다.

SQL-92 항목 수준 준수 드라이버는 항상 이러한 모든 비트가 설정된 비트 마스크를 반환합니다.
SQL_SYSTEM_FUNCTIONS 1.0 드라이버 및 관련 데이터 원본에서 지원하는 스칼라 시스템 함수를 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 시스템 함수를 결정하는 데 사용됩니다.
SQL_FN_SYS_DBNAME
SQL_FN_SYS_IFNULL
SQL_FN_SYS_USERNAME
SQL_TABLE_TERM 1.0 테이블의 데이터 원본 공급업체 이름이 있는 문자열입니다. 예를 들어 "table" 또는 "file"입니다.

이 문자열은 대/소문자, 아래쪽 또는 혼합된 대/소문자일 수 있습니다.

SQL-92 항목 수준 준수 드라이버는 항상 "테이블"을 반환합니다.
SQL_TIMEDATE_ADD_INTERVALS 2.0 TIMESTAMPADD 스칼라 함수에 대한 드라이버 및 관련 데이터 원본에서 지원하는 타임스탬프 간격을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 간격을 결정하는 데 사용됩니다.
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

FIPS 전환 수준 준수 드라이버는 항상 이러한 모든 비트가 설정된 비트 마스크를 반환합니다.
SQL_TIMEDATE_DIFF_INTERVALS 2.0 드라이버에서 지원하는 타임스탬프 간격과 TIMESTAMPDIFF 스칼라 함수에 대한 연결된 데이터 원본을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 간격을 결정하는 데 사용됩니다.
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

FIPS 전환 수준 준수 드라이버는 항상 이러한 모든 비트가 설정된 비트 마스크를 반환합니다.
SQL_TIMEDATE_FUNCTIONS 1.0 참고: 정보 유형은 ODBC 1.0에서 도입되었습니다. 각 비트 마스크는 도입된 버전으로 레이블이 지정됩니다.

드라이버 및 관련 데이터 원본에서 지원하는 스칼라 날짜 및 시간 함수를 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 날짜 및 시간 함수를 결정하는 데 사용됩니다.
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 참고: 정보 유형은 ODBC 1.0에서 도입되었습니다. 각 반환 값은 도입된 버전으로 레이블이 지정됩니다.

드라이버 또는 데이터 원본의 트랜잭션 지원을 설명하는 SQLUSMALLINT 값입니다.
SQL_TC_NONE = 트랜잭션이 지원되지 않습니다. (ODBC 1.0)
SQL_TC_DML = 트랜잭션은 DML(데이터 조작 언어) 문(SELECT, INSERT, UPDATE, DELETE)만 포함할 수 있습니다. 트랜잭션에서 DDL(데이터 정의 언어) 문이 발생하면 오류가 발생합니다. (ODBC 1.0)
SQL_TC_DDL_COMMIT = 트랜잭션은 DML 문만 포함할 수 있습니다. 트랜잭션에서 DDL 문(CREATE TABLE, DROP INDEX 등)이 발견되면 트랜잭션이 커밋됩니다. (ODBC 2.0)
SQL_TC_DDL_IGNORE = 트랜잭션은 DML 문만 포함할 수 있습니다. 트랜잭션에서 발생한 DDL 문은 무시됩니다. (ODBC 2.0)
SQL_TC_ALL = 트랜잭션은 모든 순서로 DDL 문과 DML 문을 포함할 수 있습니다. (ODBC 1.0)

SQL-92에서는 트랜잭션 지원이 필수이므로 SQL-92 호환 드라이버[모든 수준]는 SQL_TC_NONE 반환하지 않습니다.
SQL_TXN_ISOLATION_OPTION 1.0 드라이버 또는 데이터 원본에서 사용할 수 있는 트랜잭션 격리 수준을 열거하는 SQLUINTEGER 비트 마스크입니다.

다음 비트 마스크는 지원되는 옵션을 결정하기 위해 플래그와 함께 사용됩니다.
SQL_TXN_READ_UNCOMMITTED
SQL_TXN_READ_COMMITTED
SQL_TXN_REPEATABLE_READ
SQL_TXN_SERIALIZABLE

이러한 격리 수준에 대한 설명은 SQL_DEFAULT_TXN_ISOLATION 대한 설명을 참조하세요.

트랜잭션 격리 수준을 설정하기 위해 애플리케이션은 SQLSetConnectAttr를 호출하여 SQL_ATTR_TXN_ISOLATION 특성을 설정합니다. 자세한 내용은 SQLSetConnectAttr 함수를 참조 하세요.

SQL-92 엔트리 수준 준수 드라이버는 항상 지원되는 대로 SQL_TXN_SERIALIZABLE 반환합니다. FIPS 전환 수준 준수 드라이버는 항상 지원되는 모든 옵션을 반환합니다.
SQL_UNION 2.0 UNION 절에 대한 지원을 열거하는 SQLUINTEGER 비트 마스크입니다.
SQL_U_UNION = 데이터 원본이 UNION 절을 지원합니다.
SQL_U_UNION_ALL = 데이터 원본이 UNION 절의 ALL 키워드를 지원합니다. 이 경우 SQLGetInfo 는 SQL_U_UNION 및 SQL_U_UNION_ALL 모두 반환합니다.

SQL-92 항목 수준 준수 드라이버는 항상 지원되는 두 옵션을 모두 반환합니다.
SQL_USER_NAME 1.0 로그인 이름과 다를 수 있는 특정 데이터베이스에 사용되는 이름의 문자열입니다.
SQL_XOPEN_CLI_YEAR 3.0 ODBC 드라이버 관리자 버전이 완전히 호환되는 Open Group 사양의 게시 연도를 나타내는 문자열입니다.

SQLGetInfo 는 지원되는 옵션 목록을 *InfoValuePtr에서 SQLUINTEGER 비트 마스크로 반환합니다. 각 옵션에 대한 비트 마스크는 플래그와 함께 사용하여 옵션이 지원되는지 여부를 결정합니다.

예를 들어 애플리케이션은 다음 코드를 사용하여 연결과 연결된 드라이버에서 SUBSTRING 스칼라 함수를 지원하는지 여부를 확인할 수 있습니다.

SQLGetInfo를 사용하는 또 다른 예제는 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  

연결 특성 설정 반환
SQLGetConnectAttr 함수

드라이버가 함수를 지원하는지 여부 확인
SQLGetFunctions 함수

문 특성의 설정 반환
SQLGetStmtAttr 함수

데이터 원본의 데이터 형식에 대한 정보 반환
SQLGetTypeInfo 함수

참고 항목

ODBC API 참조
ODBC 헤더 파일