Fungsi SQLGetInfo

Kesesuaian
Versi yang Diperkenalkan: Kepatuhan Standar ODBC 1.0: ISO 92

Ringkasan
SQLGetInfo mengembalikan informasi umum tentang driver dan sumber data yang terkait dengan koneksi.

Sintaks

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

Argumen

ConnectionHandle
[Input] Handel koneksi.

InfoType
[Input] Jenis informasi.

InfoValuePtr
[Output] Arahkan ke buffer untuk mengembalikan informasi. Bergantung pada InfoType yang diminta, informasi yang dikembalikan akan menjadi salah satu dari berikut ini: string karakter yang diakhiri null, nilai SQLUSMALLINT, bitmask SQLUINTEGER, bendera SQLUINTEGER, nilai biner SQLUINTEGER, atau nilai SQLULEN.

Jika argumen InfoType SQL_DRIVER_HDESC atau SQL_DRIVER_HSTMT, argumen InfoValuePtr adalah input dan output. (Lihat deskriptor SQL_DRIVER_HDESC atau SQL_DRIVER_HSTMT nanti dalam deskripsi fungsi ini untuk informasi selengkapnya.)

Jika InfoValuePtr adalah NULL, StringLengthPtr masih akan mengembalikan jumlah total byte (tidak termasuk karakter penghentian null untuk data karakter) yang tersedia untuk dikembalikan dalam buffer yang ditujukkan oleh InfoValuePtr.

BufferLength
[Input] Panjang buffer *InfoValuePtr . Jika nilai dalam *InfoValuePtr bukan string karakter atau jika InfoValuePtr adalah penunjuk null, argumen BufferLength diabaikan. Driver mengasumsikan bahwa ukuran *InfoValuePtr adalah SQLUSMALLINT atau SQLUINTEGER, berdasarkan InfoType. Jika *InfoValuePtr adalah string Unicode (saat memanggil SQLGetInfoW), argumen BufferLength harus berupa angka genap; jika tidak, SQLSTATE HY090 (String atau panjang buffer tidak valid) dikembalikan.

StringLengthPtr
[Output] Penunjuk ke buffer untuk mengembalikan jumlah total byte (tidak termasuk karakter penghentian null untuk data karakter) yang tersedia untuk dikembalikan dalam *InfoValuePtr.

Untuk data karakter, jika jumlah byte yang tersedia untuk dikembalikan lebih besar dari atau sama dengan BufferLength, informasi dalam *InfoValuePtr dipotong menjadi byte BufferLength dikurangi panjang karakter penghentian null dan dihentikan null oleh driver.

Untuk semua jenis data lainnya, nilai BufferLength diabaikan dan driver mengasumsikan ukuran *InfoValuePtr adalah SQLUSMALLINT atau SQLUINTEGER, tergantung pada InfoType.

Mengembalikan

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR, atau SQL_INVALID_HANDLE.

Diagnostik

Ketika SQLGetInfo mengembalikan SQL_ERROR atau SQL_SUCCESS_WITH_INFO, nilai SQLSTATE terkait dapat diperoleh dengan memanggil SQLGetDiagRec dengan HandleType SQL_HANDLE_DBC dan HandelConnectionHandle. Tabel berikut mencantumkan nilai SQLSTATE yang biasanya dikembalikan oleh SQLGetInfo dan menjelaskan masing-masing nilai dalam konteks fungsi ini; notasi "(DM)" mendahului deskripsi SQLSTATEs yang dikembalikan oleh Manajer Driver. Kode pengembalian yang terkait dengan setiap nilai SQLSTATE SQL_ERROR, kecuali disebutkan sebaliknya.

SQLSTATE Kesalahan Deskripsi
01000 Peringatan umum Pesan informasi khusus driver. (Fungsi mengembalikan SQL_SUCCESS_WITH_INFO.)
01004 Data string, terpotok kanan Buffer *InfoValuePtr tidak cukup besar untuk mengembalikan semua informasi yang diminta. Oleh karena itu, informasi tersebut dipotok. Panjang informasi yang diminta dalam formulir yang tidak terpotret dikembalikan dalam *StringLengthPtr. (Fungsi mengembalikan SQL_SUCCESS_WITH_INFO.)
08003 Koneksi tidak terbuka (DM) Jenis informasi yang diminta di InfoType memerlukan koneksi terbuka. Dari jenis informasi yang dicadangkan oleh ODBC, hanya SQL_ODBC_VER yang dapat dikembalikan tanpa koneksi terbuka.
08S01 Kegagalan tautan komunikasi Tautan komunikasi antara driver dan sumber data tempat driver tersambung gagal sebelum fungsi selesai diproses.
HY000 Kesalahan umum Terjadi kesalahan yang tidak ada SQLSTATE tertentu dan tidak ada SQLSTATE khusus implementasi yang ditentukan. Pesan kesalahan yang dikembalikan oleh SQLGetDiagRec di buffer *MessageText menjelaskan kesalahan dan penyebabnya.
HY001 Kesalahan alokasi memori Driver tidak dapat mengalokasikan memori yang diperlukan untuk mendukung eksekusi atau penyelesaian fungsi.
HY010 Kesalahan urutan fungsi (DM) SQLExecute, SQLExecDirect, atau SQLMoreResults dipanggil untuk StatementHandle dan dikembalikan SQL_PARAM_DATA_AVAILABLE. Fungsi ini dipanggil sebelum data diambil untuk semua parameter yang dialirkan.
HY013 Kesalahan manajemen memori Panggilan fungsi tidak dapat diproses karena objek memori yang mendasar tidak dapat diakses, mungkin karena kondisi memori yang rendah.
HY024 Nilai atribut tidak valid (DM) Argumen InfoType SQL_DRIVER_HSTMT, dan nilai yang ditujukan oleh InfoValuePtr bukan handel pernyataan yang valid.

(DM) Argumen InfoType SQL_DRIVER_HDESC, dan nilai yang ditunjukkan oleh InfoValuePtr bukan handel deskriptor yang valid.
HY090 Panjang string atau buffer tidak valid (DM) Nilai yang ditentukan untuk argumen BufferLength kurang dari 0.

(DM) Nilai yang ditentukan untuk BufferLength adalah angka ganjil, dan *InfoValuePtr adalah jenis data Unicode.
HY096 Jenis informasi di luar rentang Nilai yang ditentukan untuk argumen InfoType tidak valid untuk versi ODBC yang didukung oleh driver.
HY117 Koneksi ditangguhkan karena status transaksi tidak diketahui. Hanya fungsi putuskan sambungan dan baca-saja yang diizinkan. (DM) Untuk informasi selengkapnya tentang status ditangguhkan, lihat Fungsi SQLEndTran.
HYC00 Bidang opsional tidak diimplementasikan Nilai yang ditentukan untuk argumen InfoType adalah nilai khusus driver yang tidak didukung oleh driver.
HYT01 Kesalahan waktu habis koneksi kedaluwarsa Periode batas waktu koneksi kedaluwarsa sebelum sumber data merespons permintaan. Periode batas waktu koneksi diatur melalui SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT.
IM001 Driver tidak mendukung fungsi ini (DM) Driver yang sesuai dengan ConnectionHandle tidak mendukung fungsi.

Komentar

Jenis informasi yang saat ini ditentukan ditampilkan dalam "Jenis Informasi," nanti di bagian ini; diharapkan lebih banyak yang akan didefinisikan untuk memanfaatkan sumber data yang berbeda. Berbagai jenis informasi dicadangkan oleh ODBC; pengembang driver harus memesan nilai untuk penggunaan khusus driver mereka sendiri dari Grup Terbuka. SQLGetInfo tidak melakukan konversi atau penghentian Unicode (lihat Lampiran A: Kode Kesalahan ODBC dari Referensi Programmer ODBC) untuk InfoTypes yang ditentukan driver. Untuk informasi selengkapnya, lihat Jenis Data Khusus Driver, Jenis Deskriptor, Jenis Informasi, Jenis Diagnostik, dan Atribut. Format informasi yang dikembalikan dalam *InfoValuePtr tergantung pada InfoType yang diminta. SQLGetInfo akan mengembalikan informasi dalam salah satu dari lima format berbeda:

  • String karakter yang dihentikan null

  • Nilai SQLUSMALLINT

  • Bitmask SQLUINTEGER

  • Nilai SQLUINTEGER

  • Nilai biner SQLUINTEGER

Format masing-masing jenis informasi berikut ini dicatat dalam deskripsi jenis. Aplikasi harus mentransmisikan nilai yang dikembalikan dalam *InfoValuePtr yang sesuai. Untuk contoh bagaimana aplikasi dapat mengambil data dari bitmask SQLUINTEGER, lihat "Contoh Kode."

Driver harus mengembalikan nilai untuk setiap jenis informasi yang ditentukan dalam tabel berikut. Jika jenis informasi tidak berlaku untuk driver atau sumber data, driver mengembalikan salah satu nilai yang tercantum dalam tabel berikut ini.

Jenis informasi Nilai
String karakter ("Y" atau "N") "N"
String karakter (bukan "Y" atau "N") String kosong
SQLUSMALLINT 0
Bitmask SQLUINTEGER atau nilai biner SQLUINTEGER 0L

Misalnya, jika sumber data tidak mendukung prosedur, SQLGetInfo mengembalikan nilai yang tercantum dalam tabel berikut untuk nilai InfoType yang terkait dengan prosedur.

InfoType Nilai
SQL_PROCEDURES "N"
SQL_ACCESSIBLE_PROCEDURES "N"
SQL_MAX_PROCEDURE_NAME_LEN 0
SQL_PROCEDURE_TERM String kosong

SQLGetInfo mengembalikan SQLSTATE HY096 (Nilai argumen tidak valid) untuk nilai InfoType yang berada dalam rentang jenis informasi yang disediakan untuk digunakan oleh ODBC tetapi tidak ditentukan oleh versi ODBC yang didukung oleh driver. Untuk menentukan versi ODBC apa yang mematuhi driver, aplikasi memanggil SQLGetInfo dengan jenis informasi SQL_DRIVER_ODBC_VER. SQLGetInfo mengembalikan SQLSTATE HYC00 (Fitur opsional tidak diimplementasikan) untuk nilai InfoType yang berada dalam rentang jenis informasi yang disediakan untuk penggunaan khusus driver tetapi tidak didukung oleh driver.

Semua panggilan ke SQLGetInfo memerlukan koneksi terbuka, kecuali ketika InfoType SQL_ODBC_VER, yang mengembalikan versi Manajer Driver.

Jenis Informasi

Bagian ini mencantumkan jenis informasi yang didukung oleh SQLGetInfo. Jenis informasi dikelompokkan secara kategoris dan dicantumkan menurut abjad. Jenis informasi yang ditambahkan atau diganti namanya untuk ODBC 3*.x* juga tercantum.

Informasi Driver

Nilai argumen InfoType berikut mengembalikan informasi tentang driver ODBC, seperti jumlah pernyataan aktif, nama sumber data, dan tingkat kepatuhan standar antarmuka:

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

Catatan

Saat menerapkan SQLGetInfo, driver dapat meningkatkan performa dengan meminimalkan berapa kali informasi dikirim atau diminta dari server.

Informasi Produk DBMS

Nilai argumen InfoType berikut mengembalikan informasi tentang produk DBMS, seperti nama dan versi DBMS:

SQL_DATABASE_NAME
SQL_DBMS_NAME

SQL_DBMS_VER

Informasi Sumber Data

Nilai argumen InfoType berikut mengembalikan informasi tentang sumber data, seperti karakteristik kursor dan kemampuan transaksi:

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 yang didukung

Nilai argumen InfoType berikut mengembalikan informasi tentang pernyataan SQL yang didukung oleh sumber data. Sintaks SQL dari setiap fitur yang dijelaskan oleh jenis informasi ini adalah sintaks SQL-92. Jenis informasi ini tidak secara lengkap menggambarkan seluruh tata bahasa SQL-92. Sebaliknya, mereka menjelaskan bagian-bagian tata bahasa yang sumber datanya biasanya menawarkan tingkat dukungan yang berbeda. Secara khusus, sebagian besar pernyataan DDL dalam SQL-92 tercakup.

Aplikasi harus menentukan tingkat umum tata bahasa yang didukung dari jenis informasi SQL_SQL_CONFORMANCE dan menggunakan jenis informasi lainnya untuk menentukan variasi dari tingkat kepatuhan standar yang dinyatakan.

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

Batas SQL

Nilai argumen InfoType berikut mengembalikan informasi tentang batas yang diterapkan pada pengidentifikasi dan klausa dalam pernyataan SQL, seperti panjang maksimum pengidentifikasi dan jumlah maksimum kolom dalam daftar pemilihan. Batasan dapat diberlakukan oleh driver atau sumber data.

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

Informasi Fungsi Skalar

Nilai argumen InfoType berikut mengembalikan informasi tentang fungsi skalar yang didukung oleh sumber data dan driver. Untuk informasi selengkapnya tentang fungsi skalar, lihat Lampiran E: Fungsi Skalar.

SQL_CONVERT_FUNCTIONS
SQL_NUMERIC_FUNCTIONS
SQL_STRING_FUNCTIONS
SQL_SYSTEM_FUNCTIONS

SQL_TIMEDATE_ADD_INTERVALS
SQL_TIMEDATE_DIFF_INTERVALS
SQL_TIMEDATE_FUNCTIONS

Informasi Konversi

Nilai argumen InfoType berikut mengembalikan daftar tipe data SQL tempat sumber data dapat mengonversi jenis data SQL yang ditentukan dengan fungsi skalar 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

Jenis Informasi Ditambahkan untuk ODBC 3.x

Nilai argumen InfoType berikut telah ditambahkan untuk 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

Jenis Informasi Diganti Namanya untuk ODBC 3.x

Nilai argumen InfoType berikut telah diganti namanya untuk ODBC 3.x.

Nama Lama Nama Baru
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

Tipe Informasi Tidak Digunakan Lagi di ODBC 3.x

Nilai berikut dari argumen InfoType tidak digunakan lagi di ODBC 3.x. Driver ODBC 3.x harus terus mendukung jenis informasi ini untuk kompatibilitas mundur dengan aplikasi ODBC 2.x. (Untuk informasi selengkapnya tentang jenis ini, lihat Dukungan SQLGetInfo di Lampiran G: Panduan Driver untuk Kompatibilitas Mundur.)

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

Deskripsi Tipe Informasi

Tabel berikut ini secara abjad mencantumkan setiap jenis informasi, versi ODBC tempatnya diperkenalkan, dan deskripsinya.

Tipe informasi Versi ODBC Deskripsi
SQL_ACCESSIBLE_PROCEDURES 1.0 String karakter: "Y" jika pengguna dapat menjalankan semua prosedur yang dikembalikan oleh SQLProcedures; "N" jika mungkin ada prosedur yang dikembalikan bahwa pengguna tidak dapat mengeksekusi.
SQL_ACCESSIBLE_TABLES 1.0 String karakter: "Y" jika pengguna dijamin hak istimewa SELECT ke semua tabel yang dikembalikan oleh SQLTables; "N" jika mungkin ada tabel yang dikembalikan yang tidak dapat diakses pengguna.
SQL_ACTIVE_ENVIRONMENTS 3.0 Nilai SQLUSMALLINT yang menentukan jumlah maksimum lingkungan aktif yang dapat didukung driver. Jika tidak ada batas yang ditentukan atau batasnya tidak diketahui, nilai ini diatur ke nol.
SQL_AGGREGATE_FUNCTIONS 3.0 Bitmask SQLUINTEGER yang menghitung dukungan untuk fungsi agregasi:
SQL_AF_ALL
SQL_AF_AVG
SQL_AF_COUNT
SQL_AF_DISTINCT
SQL_AF_MAX
SQL_AF_MIN
SQL_AF_SUM

Driver SQL-92 Entry level-conformant akan selalu mengembalikan semua opsi ini sebagaimana didukung.
SQL_ALTER_DOMAIN 3.0 Bitmask SQLUINTEGER yang menghitung klausa dalam pernyataan ALTER DOMAIN, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data. Driver yang mematuhi tingkat penuh SQL-92 akan selalu mengembalikan semua bitmask. Nilai pengembalian "0" berarti bahwa pernyataan ALTER DOMAIN tidak didukung.

Tingkat kesesuaian SQL-92 atau FIPS di mana fitur ini harus didukung ditampilkan dalam tanda kurung di samping setiap bitmask.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_AD_ADD_DOMAIN_CONSTRAINT = Menambahkan batasan domain didukung (Tingkat penuh)
SQL_AD_ADD_DOMAIN_DEFAULT = <mengubah klausa> default domain set domain>< didukung (Tingkat penuh)
SQL_AD_CONSTRAINT_NAME_DEFINITION = <klausa> definisi nama batasan didukung untuk penamaan batasan domain (Tingkat menengah)
SQL_AD_DROP_DOMAIN_CONSTRAINT = <klausa> batasan domain drop didukung (Tingkat penuh)
SQL_AD_DROP_DOMAIN_DEFAULT = <mengubah>< klausa> default domaindrop didukung (Tingkat penuh)

Bit berikut menentukan atribut> batasan yang didukung <jika <batasan> domain tambahan didukung (bit SQL_AD_ADD_DOMAIN_CONSTRAINT diatur):
SQL_AD_ADD_CONSTRAINT_DEFERRABLE (Tingkat penuh)
SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE (Tingkat penuh)
SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED (Tingkat penuh)
SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE (Tingkat penuh)
SQL_ALTER_TABLE 2.0 Bitmask SQLUINTEGER menghitung klausa dalam pernyataan ALTER TABLE yang didukung oleh sumber data.

Tingkat kesesuaian SQL-92 atau FIPS di mana fitur ini harus didukung ditampilkan dalam tanda kurung di samping setiap bitmask.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_AT_ADD_COLUMN_COLLATION = <menambahkan klausa kolom> didukung, dengan fasilitas untuk menentukan kolase kolom (Tingkat penuh) (ODBC 3.0)
SQL_AT_ADD_COLUMN_DEFAULT = <menambahkan klausa kolom> didukung, dengan fasilitas untuk menentukan default kolom (tingkat Transisi FIPS) (ODBC 3.0)
SQL_AT_ADD_COLUMN_SINGLE = <kolom> tambahan didukung (tingkat Transisi FIPS) (ODBC 3.0)
SQL_AT_ADD_CONSTRAINT = <menambahkan klausa kolom> didukung, dengan fasilitas untuk menentukan batasan kolom (tingkat Transisi FIPS) (ODBC 3.0)
SQL_AT_ADD_TABLE_CONSTRAINT = <menambahkan klausa batasan> tabel didukung (tingkat Transisi FIPS) (ODBC 3.0)
SQL_AT_CONSTRAINT_NAME_DEFINITION = <definisi> nama batasan didukung untuk penamaan batasan kolom dan tabel (Tingkat menengah) (ODBC 3.0)
SQL_AT_DROP_COLUMN_CASCADE = <drop column> CASCADE didukung (TINGKAT Transisi FIPS) (ODBC 3.0)
SQL_AT_DROP_COLUMN_DEFAULT = <alter columndrop>< column default clause> (Intermediate level) (ODBC 3.0)
SQL_AT_DROP_COLUMN_RESTRICT = <drop column> RESTRICT didukung (tingkat Transisi FIPS) (ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE (ODBC 3.0)
SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = <drop column> RESTRICT didukung (tingkat Transisi FIPS) (ODBC 3.0)
SQL_AT_SET_COLUMN_DEFAULT = <alter columnset>< column default clause> (Intermediate level) (ODBC 3.0)

Bit berikut menentukan atribut> batasan dukungan <jika menentukan batasan kolom atau tabel didukung (bit SQL_AT_ADD_CONSTRAINT diatur):
SQL_AT_CONSTRAINT_INITIALLY_DEFERRED (Tingkat penuh) (ODBC 3.0)
SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE (Tingkat penuh) (ODBC 3.0)
SQL_AT_CONSTRAINT_DEFERRABLE (Tingkat penuh) (ODBC 3.0)
SQL_AT_CONSTRAINT_NON_DEFERRABLE (Tingkat penuh) (ODBC 3.0)
SQL_ASYNC_DBC_FUNCTIONS 3.8 Nilai SQLUINTEGER yang menunjukkan apakah driver dapat menjalankan fungsi secara asinkron pada handel koneksi.

SQL_ASYNC_DBC_CAPABLE = Driver dapat menjalankan fungsi koneksi secara asinkron.
SQL_ASYNC_DBC_NOT_CAPABLE = Driver tidak dapat menjalankan fungsi koneksi secara asinkron.
SQL_ASYNC_MODE 3.0 Nilai SQLUINTEGER yang menunjukkan tingkat dukungan asinkron dalam driver:

SQL_AM_CONNECTION = Eksekusi asinkron tingkat koneksi didukung. Semua handel pernyataan yang terkait dengan handel koneksi tertentu berada dalam mode asinkron atau semuanya dalam mode sinkron. Handel pernyataan pada koneksi tidak dapat berada dalam mode asinkron sementara handel pernyataan lain pada koneksi yang sama berada dalam mode sinkron, dan sebaliknya.
SQL_AM_STATEMENT = Eksekusi asinkron tingkat pernyataan didukung. Beberapa handel pernyataan yang terkait dengan handel koneksi dapat berada dalam mode asinkron, sementara pernyataan lain menangani pada koneksi yang sama berada dalam mode sinkron.
SQL_AM_NONE = Mode asinkron tidak didukung.
SQL_ASYNC_NOTIFICATION 3.8 Nilai SQLUINTEGER yang menunjukkan apakah driver mendukung pemberitahuan asinkron:

SQL_ASYNC_NOTIFICATION_CAPABLE = Pemberitahuan eksekusi asinkron didukung oleh driver.
SQL_ASYNC_NOTIFICATION_NOT_CAPABLE = Pemberitahuan eksekusi asinkron tidak didukung oleh driver.

Ada dua kategori operasi asinkron ODBC: operasi asinkron tingkat koneksi dan operasi asinkron tingkat pernyataan. Jika driver mengembalikan SQL_ASYNC_NOTIFICATION_CAPABLE, driver harus mendukung pemberitahuan untuk semua API yang dapat dijalankan secara asinkron.
SQL_BATCH_ROW_COUNT 3.0 Bitmask SQLUINTEGER yang menghitung perilaku driver sehubungan dengan ketersediaan jumlah baris. Bitmask berikut digunakan bersama dengan jenis informasi:

SQL_BRC_ROLLED_UP = Jumlah baris untuk pernyataan INSERT, DELETE, atau UPDATE berturut-turut digulung menjadi satu. Jika bit ini tidak diatur, jumlah baris tersedia untuk setiap pernyataan.
SQL_BRC_PROCEDURES = Jumlah baris, jika ada, tersedia saat batch dijalankan dalam prosedur tersimpan. Jika jumlah baris tersedia, jumlah baris dapat digulung atau tersedia secara individual, tergantung pada bit SQL_BRC_ROLLED_UP.
SQL_BRC_EXPLICIT = Jumlah baris, jika ada, tersedia saat batch dijalankan langsung dengan memanggil SQLExecute atau SQLExecDirect. Jika jumlah baris tersedia, jumlah baris dapat digulung atau tersedia secara individual, tergantung pada bit SQL_BRC_ROLLED_UP.
SQL_BATCH_SUPPORT 3.0 Bitmask SQLUINTEGER menghitung dukungan driver untuk batch. Bitmask berikut digunakan untuk menentukan tingkat mana yang didukung:

SQL_BS_SELECT_EXPLICIT = Driver mendukung batch eksplisit yang dapat memiliki pernyataan pembuatan tataan hasil.
SQL_BS_ROW_COUNT_EXPLICIT = Driver mendukung batch eksplisit yang dapat memiliki pernyataan pembuatan jumlah baris.
SQL_BS_SELECT_PROC = Driver mendukung prosedur eksplisit yang dapat memiliki pernyataan pembuatan tataan hasil.
SQL_BS_ROW_COUNT_PROC = Driver mendukung prosedur eksplisit yang dapat memiliki pernyataan pembuatan jumlah baris.
SQL_BOOKMARK_PERSISTENCE 2.0 Bitmask SQLUINTEGER menghitung operasi di mana bookmark bertahan. Bitmask berikut digunakan bersama dengan bendera untuk menentukan opsi marka buku mana yang bertahan:

SQL_BP_CLOSE = Bookmark valid setelah aplikasi memanggil SQLFreeStmt dengan opsi SQL_CLOSE, atau SQLCloseCursor untuk menutup kursor yang terkait dengan pernyataan.
SQL_BP_DELETE = Bookmark untuk baris valid setelah baris tersebut dihapus.
SQL_BP_DROP = Bookmark valid setelah aplikasi memanggil SQLFreeHandle dengan HandleType SQL_HANDLE_STMT untuk menghilangkan pernyataan.
SQL_BP_TRANSACTION = Bookmark valid setelah aplikasi melakukan atau mengembalikan transaksi.
SQL_BP_UPDATE = Bookmark untuk baris valid setelah kolom apa pun di baris tersebut diperbarui, termasuk kolom kunci.
SQL_BP_OTHER_HSTMT = Bookmark yang terkait dengan satu pernyataan dapat digunakan dengan pernyataan lain. Kecuali SQL_BP_CLOSE atau SQL_BP_DROP ditentukan, kursor pada pernyataan pertama harus terbuka.
SQL_CATALOG_LOCATION 2.0 Nilai SQLUSMALLINT yang menunjukkan posisi katalog dalam nama tabel yang memenuhi syarat:

SQL_CL_START
SQL_CL_END
Misalnya, driver Xbase mengembalikan SQL_CL_START karena nama direktori (katalog) berada di awal nama tabel, seperti dalam \EMPDATA\EMP. DBF. Driver ORACLE Server mengembalikan SQL_CL_END karena katalog berada di akhir nama tabel, seperti dalam ADMIN. EMP@EMPDATA.

Driver SQL-92 Full level-conformant akan selalu mengembalikan SQL_CL_START. Nilai 0 dikembalikan jika katalog tidak didukung oleh sumber data. Untuk menentukan apakah katalog didukung, aplikasi memanggil SQLGetInfo dengan jenis informasi SQL_CATALOG_NAME.

InfoType ini telah diganti namanya menjadi ODBC 3.0 dari infoType ODBC 2.0 SQL_QUALIFIER_LOCATION.
SQL_CATALOG_NAME 3.0 String karakter: "Y" jika server mendukung nama katalog, atau "N" jika tidak.

Driver SQL-92 Full level-conformant akan selalu mengembalikan "Y".
SQL_CATALOG_NAME_SEPARATOR 1.0 String karakter: karakter atau karakter yang didefinisikan sumber data sebagai pemisah antara nama katalog dan elemen nama yang memenuhi syarat yang mengikuti atau mendahuluinya.

String kosong dikembalikan jika katalog tidak didukung oleh sumber data. Untuk menentukan apakah katalog didukung, aplikasi memanggil SQLGetInfo dengan jenis informasi SQL_CATALOG_NAME. Driver SQL-92 Full level-conformant akan selalu mengembalikan ".".

InfoType ini telah diganti namanya menjadi ODBC 3.0 dari SQL_QUALIFIER_NAME_SEPARATOR InfoType ODBC 2.0.
SQL_CATALOG_TERM 1.0 String karakter dengan nama vendor sumber data untuk katalog; misalnya, "database" atau "direktori". String ini dapat dalam huruf besar, kecil, atau campuran.

String kosong dikembalikan jika katalog tidak didukung oleh sumber data. Untuk menentukan apakah katalog didukung, aplikasi memanggil SQLGetInfo dengan jenis informasi SQL_CATALOG_NAME. Driver SQL-92 Full level-conformant akan selalu mengembalikan "katalog".

InfoType ini telah diganti namanya menjadi ODBC 3.0 dari SQL_QUALIFIER_TERM InfoType ODBC 2.0.
SQL_CATALOG_USAGE 2.0 Bitmask SQLUINTEGER yang menghitung pernyataan di mana katalog dapat digunakan.

Bitmask berikut digunakan untuk menentukan di mana katalog dapat digunakan:
SQL_CU_DML_STATEMENTS = Katalog didukung di semua pernyataan Bahasa Manipulasi Data: SELECT, INSERT, UPDATE, DELETE, dan jika didukung, SELECT FOR UPDATE dan pernyataan pembaruan dan penghapusan yang diposisikan.
SQL_CU_PROCEDURE_INVOCATION = Katalog didukung dalam pernyataan pemanggilan prosedur ODBC.
SQL_CU_TABLE_DEFINITION = Katalog didukung dalam semua pernyataan definisi tabel: CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE, dan DROP VIEW.
SQL_CU_INDEX_DEFINITION = Katalog didukung di semua pernyataan definisi indeks: CREATE INDEX dan DROP INDEX.
SQL_CU_PRIVILEGE_DEFINITION = Katalog didukung di semua pernyataan definisi hak istimewa: GRANT dan REVOKE.

Nilai 0 dikembalikan jika katalog tidak didukung oleh sumber data. Untuk menentukan apakah katalog didukung, aplikasi memanggil SQLGetInfo dengan jenis informasi SQL_CATALOG_NAME. Driver SQL-92 Full level-conformant akan selalu mengembalikan bitmask dengan semua bit ini ditetapkan.

InfoType ini telah diganti namanya menjadi ODBC 3.0 dari infoType ODBC 2.0 SQL_QUALIFIER_USAGE.
SQL_COLLATION_SEQ 3.0 Nama urutan kolace. Ini adalah string karakter yang menunjukkan nama kolase default untuk kumpulan karakter default untuk server ini (misalnya, 'ISO 8859-1' atau EBCDIC). Jika tidak diketahui, string kosong akan dikembalikan. Driver SQL-92 Full level-conformant akan selalu mengembalikan string yang tidak kosong.
SQL_COLUMN_ALIAS 2.0 String karakter: "Y" jika sumber data mendukung alias kolom; jika tidak, "N".

Alias kolom adalah nama alternatif yang dapat ditentukan untuk kolom dalam daftar pemilihan dengan menggunakan klausa AS. Driver SQL-92 Entry level-conformant akan selalu mengembalikan "Y".
SQL_CONCAT_NULL_BEHAVIOR 1.0 Nilai SQLUSMALLINT yang menunjukkan bagaimana sumber data menangani perangkaian kolom tipe data karakter bernilai NULL dengan kolom tipe data karakter bernilai non-NULL:
SQL_CB_NULL = Hasil bernilai NULL.
SQL_CB_NON_NULL = Hasil adalah perangkaian kolom atau kolom bernilai non-NULL.

Driver SQL-92 Entry level-conformant akan selalu mengembalikan 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 Bitmask SQLUINTEGER. Bitmask menunjukkan konversi yang didukung oleh sumber data dengan fungsi skalar CONVERT untuk data jenis bernama dalam InfoType. Jika bitmask sama dengan nol, sumber data tidak mendukung konversi apa pun dari data jenis bernama, termasuk konversi ke jenis data yang sama.

Misalnya, untuk menentukan apakah sumber data mendukung konversi data SQL_INTEGER ke jenis data SQL_BIGINT, aplikasi memanggil SQLGetInfo dengan InfoType SQL_CONVERT_INTEGER. Aplikasi melakukan operasi AND dengan bitmask dan SQL_CVT_BIGINT yang dikembalikan. Jika nilai yang dihasilkan bukan nol, konversi didukung.

Bitmask berikut digunakan untuk menentukan konversi mana yang didukung:
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 Bitmask SQLUINTEGER yang menghitung fungsi konversi skalar yang didukung oleh driver dan sumber data terkait.

Bitmask berikut digunakan untuk menentukan fungsi konversi mana yang didukung:
SQL_FN_CVT_CASTSQL_FN_CVT_CONVERT
SQL_CORRELATION_NAME 1.0 Nilai SQLUSMALLINT yang menunjukkan apakah nama korelasi tabel didukung:
SQL_CN_NONE = Nama korelasi tidak didukung.
SQL_CN_DIFFERENT = Nama korelasi didukung tetapi harus berbeda dari nama tabel yang diwakilinya.
SQL_CN_ANY = Nama korelasi didukung dan dapat menjadi nama yang ditentukan pengguna yang valid.

Driver SQL-92 Entry level-conformant akan selalu mengembalikan SQL_CN_ANY.
SQL_CREATE_ASSERTION 3.0 Bitmask SQLUINTEGER yang menghitung klausa dalam pernyataan CREATE ASSERTION, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_CA_CREATE_ASSERTION

Bit berikut menentukan atribut batasan yang didukung jika kemampuan untuk menentukan atribut batasan secara eksplisit didukung (lihat jenis informasi SQL_ALTER_TABLE dan SQL_CREATE_TABLE):
SQL_CA_CONSTRAINT_INITIALLY_DEFERRED
SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE
SQL_CA_CONSTRAINT_DEFERRABLE
SQL_CA_CONSTRAINT_NON_DEFERRABLE

Driver SQL-92 Full level-conformant akan selalu mengembalikan semua opsi ini sebagaimana didukung. Nilai pengembalian "0" berarti pernyataan CREATE ASSERTION tidak didukung.
SQL_CREATE_CHARACTER_SET 3.0 Bitmask SQLUINTEGER yang menghitung klausa dalam pernyataan CREATE CHARACTER SET, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_CCS_CREATE_CHARACTER_SET
SQL_CCS_COLLATE_CLAUSE
SQL_CCS_LIMITED_COLLATION

Driver SQL-92 Full level-conformant akan selalu mengembalikan semua opsi ini sebagaimana didukung. Nilai pengembalian "0" berarti pernyataan CREATE CHARACTER SET tidak didukung.
SQL_CREATE_COLLATION 3.0 Bitmask SQLUINTEGER yang menghitung klausa dalam pernyataan CREATE COLLATION, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_CCOL_CREATE_COLLATION

Driver SQL-92 Full level-conformant akan selalu mengembalikan opsi ini sebagaimana didukung. Nilai pengembalian "0" berarti bahwa pernyataan CREATE COLLATION tidak didukung.
SQL_CREATE_DOMAIN 3.0 Bitmask SQLUINTEGER yang menghitung klausa dalam pernyataan CREATE DOMAIN, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_CDO_CREATE_DOMAIN = Pernyataan CREATE DOMAIN didukung (Tingkat menengah).
SQL_CDO_CONSTRAINT_NAME_DEFINITION = <definisi> nama batasan didukung untuk penamaan batasan domain (Tingkat menengah).

Bit berikut menentukan kemampuan untuk membuat batasan kolom:
SQL_CDO_DEFAULT = Menentukan batasan domain didukung (Tingkat menengah)
SQL_CDO_CONSTRAINT = Menentukan default domain didukung (Tingkat menengah)
SQL_CDO_COLLATION = Menentukan kolatasi domain didukung (Tingkat penuh)

Bit berikut menentukan atribut batasan yang didukung jika menentukan batasan domain didukung (SQL_CDO_DEFAULT diatur):
SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED (Tingkat penuh)
SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE (Tingkat penuh)
SQL_CDO_CONSTRAINT_DEFERRABLE (Tingkat penuh)
SQL_CDO_CONSTRAINT_NON_DEFERRABLE (Tingkat penuh)

Nilai pengembalian "0" berarti bahwa pernyataan CREATE DOMAIN tidak didukung.
SQL_CREATE_SCHEMA 3.0 Bitmask SQLUINTEGER yang menghitung klausa dalam pernyataan CREATE SCHEMA, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_CS_CREATE_SCHEMA
SQL_CS_AUTHORIZATION
SQL_CS_DEFAULT_CHARACTER_SET

Driver yang sesuai tingkat menengah SQL-92 akan selalu mengembalikan opsi SQL_CS_CREATE_SCHEMA dan SQL_CS_AUTHORIZATION sebagaimana didukung. Ini juga harus didukung pada tingkat Entri SQL-92, tetapi belum tentu sebagai pernyataan SQL. Driver SQL-92 Full level-conformant akan selalu mengembalikan semua opsi ini sebagaimana didukung.
SQL_CREATE_TABLE 3.0 Bitmask SQLUINTEGER menghitung klausa dalam pernyataan CREATE TABLE, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Tingkat kesesuaian SQL-92 atau FIPS di mana fitur ini harus didukung ditampilkan dalam tanda kurung di samping setiap bitmask.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_CT_CREATE_TABLE = Pernyataan CREATE TABLE didukung. (Tingkat pemula)
SQL_CT_TABLE_CONSTRAINT = Menentukan batasan tabel didukung (tingkat Transisi FIPS)
SQL_CT_CONSTRAINT_NAME_DEFINITION = Klausa <definisi> nama batasan didukung untuk penamaan batasan kolom dan tabel (Tingkat menengah)

Bit berikut menentukan kemampuan untuk membuat tabel sementara:
SQL_CT_COMMIT_PRESERVE = Baris yang dihapus dipertahankan saat penerapan. (Tingkat penuh)
SQL_CT_COMMIT_DELETE = Baris yang dihapus dihapus saat penerapan. (Tingkat penuh)
SQL_CT_GLOBAL_TEMPORARY = Tabel sementara global dapat dibuat. (Tingkat penuh)
SQL_CT_LOCAL_TEMPORARY = Tabel sementara lokal dapat dibuat. (Tingkat penuh)

Bit berikut menentukan kemampuan untuk membuat batasan kolom:
SQL_CT_COLUMN_CONSTRAINT = Menentukan batasan kolom didukung (tingkat Transisi FIPS)
SQL_CT_COLUMN_DEFAULT = Menentukan default kolom didukung (tingkat Transisi FIPS)
SQL_CT_COLUMN_COLLATION = Menentukan kolab kolom didukung (Tingkat penuh)

Bit berikut menentukan atribut batasan yang didukung jika menentukan batasan kolom atau tabel didukung:
SQL_CT_CONSTRAINT_INITIALLY_DEFERRED (Tingkat penuh)
SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE (Tingkat penuh)
SQL_CT_CONSTRAINT_DEFERRABLE (Tingkat penuh)
SQL_CT_CONSTRAINT_NON_DEFERRABLE (Tingkat penuh)
SQL_CREATE_TRANSLATION 3.0 Bitmask SQLUINTEGER menghitung klausa dalam pernyataan CREATE TRANSLATION, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausul mana yang didukung:
SQL_CTR_CREATE_TRANSLATION

Driver SQL-92 Full level-conformant akan selalu mengembalikan opsi ini sebagaimana didukung. Nilai pengembalian "0" berarti bahwa pernyataan CREATE TRANSLATION tidak didukung.
SQL_CREATE_VIEW 3.0 Bitmask SQLUINTEGER menghitung klausa dalam pernyataan CREATE VIEW, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_CV_CREATE_VIEW
SQL_CV_CHECK_OPTION
SQL_CV_CASCADED
SQL_CV_LOCAL

Nilai pengembalian "0" berarti bahwa pernyataan CREATE VIEW tidak didukung.

Driver SQL-92 Entry level-conformant akan selalu mengembalikan opsi SQL_CV_CREATE_VIEW dan SQL_CV_CHECK_OPTION sebagai didukung.

Driver SQL-92 Full level-conformant akan selalu mengembalikan semua opsi ini sebagaimana didukung.
SQL_CURSOR_COMMIT_BEHAVIOR 1.0 Nilai SQLUSMALLINT yang menunjukkan bagaimana operasi COMMIT memengaruhi kursor dan pernyataan yang disiapkan di sumber data (perilaku sumber data saat Anda melakukan transaksi).

Nilai atribut ini akan mencerminkan status saat ini dari pengaturan berikutnya: SQL_COPT_SS_PRESERVE_CURSORS.
SQL_CB_DELETE = Tutup kursor dan hapus pernyataan yang disiapkan. Untuk menggunakan kursor lagi, aplikasi harus mereprepare dan menjalankan kembali pernyataan.
SQL_CB_CLOSE = Tutup kursor. Untuk pernyataan yang disiapkan, aplikasi dapat memanggil SQLExecute pada pernyataan tanpa memanggil SQLPrepare lagi. Default untuk driver SQL ODBC adalah SQL_CB_CLOSE. Ini berarti bahwa driver SQL ODBC akan menutup kursor Anda saat Anda melakukan transaksi.
SQL_CB_PRESERVE = Pertahankan kursor dalam posisi yang sama seperti sebelum operasi PENERAPAN . Aplikasi dapat terus mengambil data, atau dapat menutup kursor dan menjalankan kembali pernyataan tanpa menyiapkannya kembali.
SQL_CURSOR_ROLLBACK_BEHAVIOR 1.0 Nilai SQLUSMALLINT yang menunjukkan bagaimana operasi ROLLBACK memengaruhi kursor dan pernyataan yang disiapkan di sumber data:
SQL_CB_DELETE = Tutup kursor dan hapus pernyataan yang disiapkan. Untuk menggunakan kursor lagi, aplikasi harus mereprepare dan menjalankan kembali pernyataan.
SQL_CB_CLOSE = Tutup kursor. Untuk pernyataan yang disiapkan, aplikasi dapat memanggil SQLExecute pada pernyataan tanpa memanggil SQLPrepare lagi.
SQL_CB_PRESERVE = Pertahankan kursor dalam posisi yang sama seperti sebelum operasi ROLLBACK . Aplikasi dapat terus mengambil data, atau dapat menutup kursor dan menjalankan kembali pernyataan tanpa menyiapkannya kembali.
SQL_CURSOR_SENSITIVITY 3.0 Nilai SQLUINTEGER yang menunjukkan dukungan untuk sensitivitas kursor:
SQL_INSENSITIVE = Semua kursor pada handel pernyataan menunjukkan tataan hasil tanpa mencerminkan perubahan apa pun yang dilakukan oleh kursor lain dalam transaksi yang sama.
SQL_UNSPECIFIED = Tidak ditentukan apakah kursor pada handel pernyataan membuat perubahan yang terlihat pada hasil yang ditetapkan oleh kursor lain dalam transaksi yang sama. Kursor pada handel pernyataan mungkin tidak terlihat, beberapa, atau semua perubahan tersebut.
SQL_SENSITIVE = Kursor sensitif terhadap perubahan yang dibuat oleh kursor lain dalam transaksi yang sama.

Driver SQL-92 Entry level-conformant akan selalu mengembalikan opsi SQL_UNSPECIFIED sebagaimana didukung.

Driver SQL-92 Full level-conformant akan selalu mengembalikan opsi SQL_INSENSITIVE seperti yang didukung.
SQL_DATA_SOURCE_NAME 1.0 String karakter dengan nama sumber data yang digunakan selama koneksi. Jika aplikasi bernama SQLConnect, ini adalah nilai argumen szDSN . Jika aplikasi yang disebut SQLDriverConnect atau SQLBrowseConnect, ini adalah nilai kata kunci DSN dalam string koneksi yang diteruskan ke driver. Jika string koneksi tidak berisi kata kunci DSN (seperti ketika berisi kata kunci DRIVER ), ini adalah string kosong.
SQL_DATA_SOURCE_READ_ONLY 1.0 String karakter. "Y" jika sumber data diatur ke mode BACA SAJA, "N" jika sebaliknya.

Karakteristik ini hanya berkaitan dengan sumber data itu sendiri; ini bukan karakteristik driver yang memungkinkan akses ke sumber data. Driver yang bersifat baca/tulis dapat digunakan dengan sumber data yang bersifat baca-saja. Jika driver bersifat baca-saja, semua sumber datanya harus baca-saja dan harus mengembalikan SQL_DATA_SOURCE_READ_ONLY.
SQL_DATABASE_NAME 1.0 String karakter dengan nama database saat ini yang digunakan, jika sumber data menentukan objek bernama yang disebut "database".

Di ODBC 3.x, nilai yang dikembalikan untuk InfoType ini juga dapat dikembalikan dengan memanggil SQLGetConnectAttr dengan argumen Atribut SQL_ATTR_CURRENT_CATALOG.
SQL_DATETIME_LITERALS 3.0 Bitmask SQLUINTEGER menghitung harfiah tanggalwaktu SQL-92 yang didukung oleh sumber data. Perhatikan bahwa ini adalah harfiah tanggalwaktu yang tercantum dalam spesifikasi SQL-92 dan terpisah dari klausa escape harfiah tanggalwaktu yang ditentukan oleh ODBC. Untuk informasi selengkapnya tentang klausa escape harfiah tanggalwaktu ODBC, lihat Literal Tanggal, Waktu, dan Tanda Waktu.

Driver yang sesuai dengan tingkat Transisi FIPS akan selalu mengembalikan nilai "1" di bitmask untuk bit dalam daftar berikut. Nilai "0" berarti bahwa harfiah tanggalwaktu SQL-92 tidak didukung.

Bitmask berikut digunakan untuk menentukan literal mana yang didukung:
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 String karakter dengan nama produk DBMS yang diakses oleh driver.
SQL_DBMS_VER 1.0 String karakter yang menunjukkan versi produk DBMS yang diakses oleh driver. Versinya adalah formulir ##.##.####, di mana dua digit pertama adalah versi utama, dua digit berikutnya adalah versi minor, dan empat digit terakhir adalah versi rilis. Driver harus merender versi produk DBMS dalam formulir ini tetapi juga dapat menambahkan versi khusus produk DBMS. Misalnya, "04.01.0000 Rdb 4.1".
SQL_DDL_INDEX 3.0 Nilai SQLUINTEGER yang menunjukkan dukungan untuk pembuatan dan penghapusan indeks:
SQL_DI_CREATE_INDEX
SQL_DI_DROP_INDEX
SQL_DEFAULT_TXN_ISOLATION 1.0 Nilai SQLUINTEGER yang menunjukkan tingkat isolasi transaksi default yang didukung oleh driver atau sumber data, atau nol jika sumber data tidak mendukung transaksi. Istilah berikut digunakan untuk menentukan tingkat isolasi transaksi:
Bacaan Kotor Transaksi 1 mengubah baris. Transaksi 2 membaca baris yang diubah sebelum transaksi 1 melakukan perubahan. Jika transaksi 1 mengembalikan perubahan, transaksi 2 akan membaca baris yang dianggap belum pernah ada.
Bacaan yang Tidak Dapat Diulang Transaksi 1 membaca baris. Transaksi 2 memperbarui atau menghapus baris tersebut dan melakukan perubahan ini. Jika transaksi 1 mencoba untuk dibaca ulang baris, transaksi akan menerima nilai baris yang berbeda atau menemukan bahwa baris telah dihapus.
Phantom Transaksi 1 membaca sekumpulan baris yang memenuhi beberapa kriteria pencarian. Transaksi 2 menghasilkan satu atau beberapa baris (melalui sisipan atau pembaruan) yang cocok dengan kriteria pencarian. Jika transaksi 1 menjalankan kembali pernyataan yang membaca baris, transaksi akan menerima sekumpulan baris yang berbeda.

Jika sumber data mendukung transaksi, driver mengembalikan salah satu bitmask berikut:
SQL_TXN_READ_UNCOMMITTED = Bacaan kotor, bacaan yang tidak dapat diulang, dan phantom dimungkinkan.
SQL_TXN_READ_COMMITTED = Bacaan kotor tidak dimungkinkan. Bacaan dan phantom yang tidak dapat diulang dimungkinkan.
SQL_TXN_REPEATABLE_READ = Bacaan kotor dan bacaan yang tidak dapat diulang tidak dimungkinkan. Phantoms mungkin.
SQL_TXN_SERIALIZABLE = Transaksi dapat diserialisasikan. Transaksi yang dapat diserialisasikan tidak memungkinkan bacaan kotor, bacaan yang tidak dapat diulang, atau phantom.
SQL_DESCRIBE_PARAMETER 3.0 String karakter: "Y" jika parameter dapat dijelaskan; "N", jika tidak.

Driver SQL-92 Full level-conformant biasanya akan mengembalikan "Y" karena akan mendukung pernyataan DESCRIBE INPUT. Karena ini tidak secara langsung menentukan dukungan SQL yang mendasarinya, namun, yang menjelaskan parameter mungkin tidak didukung, bahkan dalam driver SQL-92 Full level-conformant.
SQL_DM_VER 3.0 String karakter dengan versi Manajer Driver. Versinya adalah formulir ##.##.#####.#####, di mana:
Set pertama dari dua digit adalah versi ODBC utama, seperti yang diberikan oleh SQL_SPEC_MAJOR konstanta.
Set kedua dari dua digit adalah versi ODBC minor, seperti yang diberikan oleh SQL_SPEC_MINOR konstanta.
Set ketiga dari empat digit adalah nomor build utama Driver Manager.
Set terakhir dari empat digit adalah nomor build minor Driver Manager.
Versi Windows 7 Driver Manager adalah 03.80. Versi Windows 8 Driver Manager adalah 03.81.
SQL_DRIVER_AWARE_POOLING_SUPPORTED 3.8 Nilai SQLUINTEGER yang menunjukkan apakah driver mendukung pengumpulan yang sadar driver. (Untuk informasi selengkapnya, lihat Pengumpulan Koneksi yang Sadar Driver.

SQL_DRIVER_AWARE_POOLING_CAPABLE menunjukkan bahwa driver dapat mendukung mekanisme pengumpulan yang sadar driver.
SQL_DRIVER_AWARE_POOLING_NOT_CAPABLE menunjukkan bahwa driver tidak dapat mendukung mekanisme pengumpulan yang sadar driver.

Driver tidak perlu menerapkan SQL_DRIVER_AWARE_POOLING_SUPPORTED dan Manajer Driver tidak akan menghormati nilai pengembalian driver.
SQL_DRIVER_HDBCSQL_DRIVER_HENV 1.0 Nilai SQLULEN, handel lingkungan driver, atau handel koneksi, ditentukan oleh argumen InfoType.

Jenis informasi ini diimplementasikan oleh Manajer Driver saja.
SQL_DRIVER_HDESC 3.0 Nilai SQLULEN, pendeskripsi driver menangani yang ditentukan oleh handel deskriptor Manajer Driver, yang harus diteruskan pada input di *InfoValuePtr dari aplikasi. Dalam hal ini, InfoValuePtr adalah argumen input dan output. Handel deskriptor input yang diteruskan di *InfoValuePtr harus dialokasikan secara eksplisit atau implisit pada ConnectionHandle.

Aplikasi harus membuat salinan handel deskriptor Driver Manager sebelum memanggil SQLGetInfo dengan jenis informasi ini, untuk memastikan bahwa handel tidak ditimpa pada output.

Jenis informasi ini diimplementasikan oleh Manajer Driver saja.
SQL_DRIVER_HLIB 2.0 Nilai SQLULEN, hinst dari pustaka beban dikembalikan ke Manajer Driver saat memuat DLL driver pada sistem operasi Microsoft Windows, atau setara pada sistem operasi lain. Handel hanya valid untuk handel koneksi yang ditentukan dalam panggilan ke SQLGetInfo.

Jenis informasi ini diimplementasikan oleh Manajer Driver saja.
SQL_DRIVER_HSTMT 1.0 Nilai SQLULEN, handel pernyataan driver yang ditentukan oleh handel pernyataan Driver Manager, yang harus diteruskan pada input di *InfoValuePtr dari aplikasi. Dalam hal ini, InfoValuePtr adalah argumen input dan output. Handel pernyataan input yang diteruskan di *InfoValuePtr harus dialokasikan pada argumen ConnectionHandle.

Aplikasi harus membuat salinan handel pernyataan Manajer Driver sebelum memanggil SQLGetInfo dengan jenis informasi ini, untuk memastikan bahwa handel tidak ditimpa pada output.

Jenis informasi ini diimplementasikan oleh Manajer Driver saja.
SQL_DRIVER_NAME 1.0 String karakter dengan nama file driver yang digunakan untuk mengakses sumber data.
SQL_DRIVER_ODBC_VER 2.0 String karakter dengan versi ODBC yang didukung driver. Versinya adalah formulir ##.##, di mana dua digit pertama adalah versi utama dan dua digit berikutnya adalah versi minor. SQL_SPEC_MAJOR dan SQL_SPEC_MINOR menentukan nomor versi utama dan minor. Untuk versi ODBC yang dijelaskan dalam manual ini, ini adalah 3 dan 0, dan driver harus mengembalikan "03.00".

Pengelola Driver ODBC tidak akan memodifikasi nilai pengembalian SQLGetInfo(SQL_DRIVER_ODBC_VER) untuk mempertahankan kompatibilitas mundur untuk aplikasi yang ada. Driver menentukan nilai mana yang akan dikembalikan. Namun, driver yang mendukung ekstensibilitas jenis data C harus mengembalikan 3.8 (atau lebih tinggi) ketika aplikasi memanggil SQLSetEnvAttr untuk mengatur SQL_ATTR_ODBC_VERSION ke 3,8. Untuk informasi selengkapnya, lihat Jenis Data C di ODBC.
SQL_DRIVER_VER 1.0 String karakter dengan versi driver dan opsional, deskripsi driver. Minimal, versinya adalah formulir ##.####### , di mana dua digit pertama adalah versi utama, dua digit berikutnya adalah versi minor, dan empat digit terakhir adalah versi rilis.
SQL_DROP_ASSERTION 3.0 Bitmask SQLUINTEGER menghitung klausa dalam pernyataan DROP ASSERTION, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausul mana yang didukung:
SQL_DA_DROP_ASSERTION

Driver SQL-92 Full level-conformant akan selalu mengembalikan opsi ini sebagaimana didukung.
SQL_DROP_CHARACTER_SET 3.0 Bitmask SQLUINTEGER menghitung klausa dalam pernyataan DROP CHARACTER SET, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausul mana yang didukung:
SQL_DCS_DROP_CHARACTER_SET

Driver SQL-92 Full level-conformant akan selalu mengembalikan opsi ini sebagaimana didukung.
SQL_DROP_COLLATION 3.0 Bitmask SQLUINTEGER menghitung klausa dalam pernyataan DROP COLLATION, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausul mana yang didukung:
SQL_DC_DROP_COLLATION

Driver SQL-92 Full level-conformant akan selalu mengembalikan opsi ini sebagaimana didukung.
SQL_DROP_DOMAIN 3.0 Bitmask SQLUINTEGER menghitung klausa dalam pernyataan DROP DOMAIN, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_DD_DROP_DOMAIN
SQL_DD_CASCADE
SQL_DD_RESTRICT

Driver yang sesuai tingkat menengah SQL-92 akan selalu mengembalikan semua opsi ini sebagaimana didukung.
SQL_DROP_SCHEMA 3.0 Bitmask SQLUINTEGER menghitung klausa dalam pernyataan DROP SCHEMA, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_DS_DROP_SCHEMA
SQL_DS_CASCADE
SQL_DS_RESTRICT

Driver yang sesuai tingkat menengah SQL-92 akan selalu mengembalikan semua opsi ini sebagaimana didukung.
SQL_DROP_TABLE 3.0 Bitmask SQLUINTEGER menghitung klausa dalam pernyataan DROP TABLE, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_DT_DROP_TABLE
SQL_DT_CASCADE
SQL_DT_RESTRICT

Driver yang sesuai dengan tingkat Transisi FIPS akan selalu mengembalikan semua opsi ini sebagaimana didukung.
SQL_DROP_TRANSLATION 3.0 Bitmask SQLUINTEGER menghitung klausa dalam pernyataan DROP TRANSLATION, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausul mana yang didukung:
SQL_DTR_DROP_TRANSLATION

Driver SQL-92 Full level-conformant akan selalu mengembalikan opsi ini sebagaimana didukung.
SQL_DROP_VIEW 3.0 Bitmask SQLUINTEGER menghitung klausa dalam pernyataan DROP VIEW, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung:
SQL_DV_DROP_VIEW
SQL_DV_CASCADE
SQL_DV_RESTRICT

Driver yang sesuai dengan tingkat Transisi FIPS akan selalu mengembalikan semua opsi ini sebagaimana didukung.
SQL_DYNAMIC_CURSOR_ATTRIBUTES1 3.0 Bitmask SQLUINTEGER yang menjelaskan atribut kursor dinamis yang didukung oleh driver. Bitmask ini berisi subset atribut pertama; untuk subset kedua, lihat SQL_DYNAMIC_CURSOR_ATTRIBUTES2.

Bitmask berikut digunakan untuk menentukan atribut mana yang didukung:
SQL_CA1_NEXT = Argumen FetchOrientation dari SQL_FETCH_NEXT didukung dalam panggilan ke SQLFetchScroll saat kursor adalah kursor dinamis.
SQL_CA1_ABSOLUTE = Argumen FetchOrientation dari SQL_FETCH_FIRST, SQL_FETCH_LAST, dan SQL_FETCH_ABSOLUTE didukung dalam panggilan ke SQLFetchScroll saat kursor adalah kursor dinamis. (Kumpulan baris yang akan diambil tidak bergantung pada posisi kursor saat ini.)
SQL_CA1_RELATIVE = Argumen FetchOrientation dari SQL_FETCH_PRIOR dan SQL_FETCH_RELATIVE didukung dalam panggilan ke SQLFetchScroll saat kursor adalah kursor dinamis. (Kumpulan baris yang akan diambil tergantung pada posisi kursor saat ini. Perhatikan bahwa ini dipisahkan dari SQL_FETCH_NEXT karena dalam kursor hanya maju, hanya SQL_FETCH_NEXT yang didukung.)
SQL_CA1_BOOKMARK = Argumen FetchOrientation dari SQL_FETCH_BOOKMARK didukung dalam panggilan ke SQLFetchScroll saat kursor adalah kursor dinamis.
SQL_CA1_LOCK_EXCLUSIVE = Argumen LockType dari SQL_LOCK_EXCLUSIVE didukung dalam panggilan ke SQLSetPos saat kursor adalah kursor dinamis.
SQL_CA1_LOCK_NO_CHANGE = Argumen LockType dari SQL_LOCK_NO_CHANGE didukung dalam panggilan ke SQLSetPos saat kursor adalah kursor dinamis.
SQL_CA1_LOCK_UNLOCK = Argumen LockType SQL_LOCK_UNLOCK didukung dalam panggilan ke SQLSetPos saat kursor adalah kursor dinamis.
SQL_CA1_POS_POSITION = Argumen operasi SQL_POSITION didukung dalam panggilan ke SQLSetPos saat kursor adalah kursor dinamis.
SQL_CA1_POS_UPDATE = Argumen operasi SQL_UPDATE didukung dalam panggilan ke SQLSetPos saat kursor adalah kursor dinamis.
SQL_CA1_POS_DELETE = Argumen Operasi SQL_DELETE didukung dalam panggilan ke SQLSetPos saat kursor adalah kursor dinamis.
SQL_CA1_POS_REFRESH = Argumen operasi SQL_REFRESH didukung dalam panggilan ke SQLSetPos saat kursor adalah kursor dinamis.
SQL_CA1_POSITIONED_UPDATE = PERNYATAAN UPDATE WHERE CURRENT OF SQL didukung saat kursor adalah kursor dinamis. (Driver SQL-92 Entry level-conformant akan selalu mengembalikan opsi ini sebagai didukung.)
SQL_CA1_POSITIONED_DELETE = PERNYATAAN DELETE WHERE CURRENT OF SQL didukung saat kursor adalah kursor dinamis. (Driver SQL-92 Entry level-conformant akan selalu mengembalikan opsi ini sebagai didukung.)
SQL_CA1_SELECT_FOR_UPDATE = Pernyataan SQL SELECT FOR UPDATE didukung saat kursor adalah kursor dinamis. (Driver SQL-92 Entry level-conformant akan selalu mengembalikan opsi ini sebagai didukung.)
SQL_CA1_BULK_ADD = Argumen Operasi SQL_ADD didukung dalam panggilan ke SQLBulkOperations saat kursor adalah kursor dinamis.
SQL_CA1_BULK_UPDATE_BY_BOOKMARK = Argumen Operasi SQL_UPDATE_BY_BOOKMARK didukung dalam panggilan ke SQLBulkOperations saat kursor adalah kursor dinamis.
SQL_CA1_BULK_DELETE_BY_BOOKMARK = Argumen operasi SQL_DELETE_BY_BOOKMARK didukung dalam panggilan ke SQLBulkOperations saat kursor adalah kursor dinamis.
SQL_CA1_BULK_FETCH_BY_BOOKMARK = Argumen operasi SQL_FETCH_BY_BOOKMARK didukung dalam panggilan ke SQLBulkOperations saat kursor adalah kursor dinamis.

Driver yang sesuai tingkat menengah SQL-92 biasanya akan mengembalikan opsi SQL_CA1_NEXT, SQL_CA1_ABSOLUTE, dan SQL_CA1_RELATIVE yang didukung, karena mendukung kursor yang dapat digulir melalui pernyataan SQL FETCH yang disematkan. Karena ini tidak secara langsung menentukan dukungan SQL yang mendasar, namun, kursor yang dapat digulir mungkin tidak didukung, bahkan untuk driver yang sesuai tingkat menengah SQL-92.
SQL_DYNAMIC_CURSOR_ATTRIBUTES2 3.0 Bitmask SQLUINTEGER yang menjelaskan atribut kursor dinamis yang didukung oleh driver. Bitmask ini berisi subset atribut kedua; untuk subset pertama, lihat SQL_DYNAMIC_CURSOR_ATTRIBUTES1.

Bitmask berikut digunakan untuk menentukan atribut mana yang didukung:
SQL_CA2_READ_ONLY_CONCURRENCY = Kursor dinamis baca-saja, di mana tidak ada pembaruan yang diizinkan, didukung. (Atribut pernyataan SQL_ATTR_CONCURRENCY dapat SQL_CONCUR_READ_ONLY untuk kursor dinamis).
SQL_CA2_LOCK_CONCURRENCY = Kursor dinamis yang menggunakan tingkat penguncian terendah yang cukup untuk memastikan bahwa baris dapat diperbarui didukung. (Atribut pernyataan SQL_ATTR_CONCURRENCY dapat SQL_CONCUR_LOCK untuk kursor dinamis.) Kunci ini harus konsisten dengan tingkat isolasi transaksi yang ditetapkan oleh atribut koneksi SQL_ATTR_TXN_ISOLATION.
SQL_CA2_OPT_ROWVER_CONCURRENCY = Kursor dinamis yang menggunakan kontrol konkurensi optimis yang membandingkan versi baris didukung. (Atribut pernyataan SQL_ATTR_CONCURRENCY dapat SQL_CONCUR_ROWVER untuk kursor dinamis.)
SQL_CA2_OPT_VALUES_CONCURRENCY = Kursor dinamis yang menggunakan kontrol konkurensi optimis yang membandingkan nilai didukung. (Atribut pernyataan SQL_ATTR_CONCURRENCY dapat SQL_CONCUR_VALUES untuk kursor dinamis.)
SQL_CA2_SENSITIVITY_ADDITIONS = Baris yang ditambahkan terlihat oleh kursor dinamis; kursor dapat menggulir ke baris tersebut. (Di mana baris ini ditambahkan ke kursor bergantung pada driver.)
SQL_CA2_SENSITIVITY_DELETIONS = Baris yang dihapus tidak lagi tersedia untuk kursor dinamis, dan jangan tinggalkan "lubang" dalam tataan hasil; setelah kursor dinamis menggulir dari baris yang dihapus, kursor tidak dapat kembali ke baris tersebut.
SQL_CA2_SENSITIVITY_UPDATES = Pembaruan pada baris terlihat oleh kursor dinamis; jika kursor dinamis menggulir dari dan kembali ke baris yang diperbarui, data yang dikembalikan oleh kursor adalah data yang diperbarui, bukan data asli.
SQL_CA2_MAX_ROWS_SELECT = Atribut pernyataan SQL_ATTR_MAX_ROWS memengaruhi pernyataan SELECT saat kursor adalah kursor dinamis.
SQL_CA2_MAX_ROWS_INSERT = Atribut pernyataan SQL_ATTR_MAX_ROWS memengaruhi pernyataan INSERT saat kursor adalah kursor dinamis.
SQL_CA2_MAX_ROWS_DELETE = Atribut pernyataan SQL_ATTR_MAX_ROWS memengaruhi pernyataan DELETE saat kursor adalah kursor dinamis.
SQL_CA2_MAX_ROWS_UPDATE = Atribut pernyataan SQL_ATTR_MAX_ROWS memengaruhi pernyataan UPDATE saat kursor adalah kursor dinamis.
SQL_CA2_MAX_ROWS_CATALOG = Atribut pernyataan SQL_ATTR_MAX_ROWS memengaruhi kumpulan hasil CATALOG saat kursor adalah kursor dinamis.
SQL_CA2_MAX_ROWS_AFFECTS_ALL = Atribut pernyataan SQL_ATTR_MAX_ROWS memengaruhi pernyataan SELECT, INSERT, DELETE, dan UPDATE , dan kumpulan hasil CATALOG , saat kursor adalah kursor dinamis.
SQL_CA2_CRC_EXACT = Jumlah baris yang tepat tersedia di bidang diagnostik SQL_DIAG_CURSOR_ROW_COUNT saat kursor adalah kursor dinamis.
SQL_CA2_CRC_APPROXIMATE = Perkiraan jumlah baris tersedia di bidang diagnostik SQL_DIAG_CURSOR_ROW_COUNT saat kursor adalah kursor dinamis.
SQL_CA2_SIMULATE_NON_UNIQUE = Driver tidak menjamin bahwa pernyataan pembaruan atau penghapusan yang diposisikan simulasi hanya akan memengaruhi satu baris ketika kursor adalah kursor dinamis; adalah tanggung jawab aplikasi untuk menjamin hal ini. (Jika pernyataan memengaruhi lebih dari satu baris, SQLExecute atau SQLExecDirect mengembalikan SQLSTATE 01001 [Konflik operasi kursor].) Untuk mengatur perilaku ini, aplikasi memanggil SQLSetStmtAttr dengan atribut SQL_ATTR_SIMULATE_CURSOR diatur ke SQL_SC_NON_UNIQUE.
SQL_CA2_SIMULATE_TRY_UNIQUE = Driver mencoba menjamin bahwa pernyataan pembaruan atau penghapusan yang diposisikan simulasi hanya akan memengaruhi satu baris ketika kursor adalah kursor dinamis. Driver selalu menjalankan pernyataan tersebut, bahkan jika mereka dapat memengaruhi lebih dari satu baris, seperti ketika tidak ada kunci unik. (Jika pernyataan memengaruhi lebih dari satu baris, SQLExecute atau SQLExecDirect mengembalikan SQLSTATE 01001 [Konflik operasi kursor].) Untuk mengatur perilaku ini, aplikasi memanggil SQLSetStmtAttr dengan atribut SQL_ATTR_SIMULATE_CURSOR diatur ke SQL_SC_TRY_UNIQUE.
SQL_CA2_SIMULATE_UNIQUE = Driver menjamin bahwa simulasi pernyataan pembaruan atau penghapusan yang diposisikan hanya akan memengaruhi satu baris ketika kursor adalah kursor dinamis. Jika driver tidak dapat menjamin ini untuk pernyataan tertentu, SQLExecDirect atau SQLPrepare mengembalikan SQLSTATE 01001 (Konflik operasi kursor). Untuk mengatur perilaku ini, aplikasi memanggil SQLSetStmtAttr dengan atribut SQL_ATTR_SIMULATE_CURSOR diatur ke SQL_SC_UNIQUE.
SQL_EXPRESSIONS_IN_ORDERBY 1.0 String karakter: "Y" jika sumber data mendukung ekspresi dalam daftar ORDER BY ; "N" jika tidak.
SQL_FILE_USAGE 2.0 Nilai SQLUSMALLINT yang menunjukkan bagaimana driver tingkat tunggal secara langsung memperlakukan file dalam sumber data:
SQL_FILE_NOT_SUPPORTED = Driver bukan driver tingkat tunggal. Misalnya, driver ORACLE adalah driver dua tingkat.
SQL_FILE_TABLE = Driver tingkat tunggal memperlakukan file dalam sumber data sebagai tabel. Misalnya, driver Xbase memperlakukan setiap file Xbase sebagai tabel.
SQL_FILE_CATALOG = Driver tingkat tunggal memperlakukan file dalam sumber data sebagai katalog. Misalnya, driver Microsoft Access memperlakukan setiap file Microsoft Access sebagai database lengkap.

Aplikasi mungkin menggunakan ini untuk menentukan bagaimana pengguna akan memilih data. Misalnya, pengguna Xbase sering menganggap data sebagai disimpan dalam file, sedangkan pengguna ORACLE dan Microsoft Access umumnya menganggap data sebagai disimpan dalam tabel.

Saat pengguna memilih sumber data Xbase, aplikasi dapat menampilkan kotak dialog umum buka file Windows; ketika pengguna memilih sumber data Microsoft Access atau ORACLE, aplikasi dapat menampilkan kotak dialog Pilih Tabel kustom.
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 3.0 Bitmask SQLUINTEGER yang menjelaskan atribut kursor khusus maju yang didukung oleh driver. Bitmask ini berisi subset atribut pertama; untuk subset kedua, lihat SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2.

Bitmask berikut digunakan untuk menentukan atribut mana yang didukung:
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

Untuk deskripsi bitmask ini, lihat SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (dan ganti "kursor khusus maju" untuk "kursor dinamis" dalam deskripsi).
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 3.0 Bitmask SQLUINTEGER yang menjelaskan atribut kursor khusus maju yang didukung oleh driver. Bitmask ini berisi subset atribut kedua; untuk subset pertama, lihat SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1.

Bitmask berikut digunakan untuk menentukan atribut mana yang didukung:
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

Untuk deskripsi bitmask ini, lihat SQL_DYNAMIC_CURSOR_ATTRIBUTES2 (dan ganti "kursor khusus maju" untuk "kursor dinamis" dalam deskripsi).
SQL_GETDATA_EXTENSIONS 2.0 Bitmask SQLUINTEGER menghitung ekstensi ke SQLGetData.

Bitmask berikut digunakan bersama dengan bendera untuk menentukan ekstensi umum apa yang didukung driver untuk SQLGetData:
SQL_GD_ANY_COLUMN = SQLGetData dapat dipanggil untuk kolom yang tidak terikat, termasuk kolom sebelum kolom terikat terakhir. Perhatikan bahwa kolom harus dipanggil dalam urutan nomor kolom naik kecuali SQL_GD_ANY_ORDER juga dikembalikan.
SQL_GD_ANY_ORDER = SQLGetData dapat dipanggil untuk kolom yang tidak terikat dalam urutan apa pun. Perhatikan bahwa SQLGetData hanya dapat dipanggil untuk kolom setelah kolom terikat terakhir kecuali SQL_GD_ANY_COLUMN juga dikembalikan.
SQL_GD_BLOCK = SQLGetData dapat dipanggil untuk kolom yang tidak terikat di baris mana pun dalam blok (di mana ukuran set baris lebih besar dari 1) data setelah memposisikan ke baris tersebut dengan SQLSetPos.
SQL_GD_BOUND = SQLGetData dapat dipanggil untuk kolom terikat selain kolom yang tidak terikat. Driver tidak dapat mengembalikan nilai ini kecuali juga mengembalikan SQL_GD_ANY_COLUMN.
SQL_GD_OUTPUT_PARAMS = SQLGetData dapat dipanggil untuk mengembalikan nilai parameter output. Untuk informasi selengkapnya, lihat Mengambil Parameter Output Menggunakan SQLGetData.

SQLGetData diperlukan untuk mengembalikan data hanya dari kolom yang tidak terikat yang terjadi setelah kolom terikat terakhir, dipanggil untuk meningkatkan jumlah kolom, dan tidak berturut-turut dalam blok baris.

Jika driver mendukung marka buku (panjang tetap atau panjang variabel), driver harus mendukung panggilan SQLGetData pada kolom 0. Dukungan ini diperlukan terlepas dari apa yang dikembalikan driver untuk panggilan ke SQLGetInfo dengan SQL_GETDATA_EXTENSIONS InfoType.
SQL_GROUP_BY 2.0 Nilai SQLUSMALLINT yang menentukan hubungan antara kolom dalam klausa GROUP BY dan kolom nonaggregated dalam daftar pilih:
SQL_GB_COLLATE = Klausa COLLATE dapat ditentukan di akhir setiap kolom pengelompokan. (ODBC 3.0)
SQL_GB_NOT_SUPPORTED = klausul GROUP BY tidak didukung. (ODBC 2.0)
SQL_GB_GROUP_BY_EQUALS_SELECT = Klausa GROUP BY harus berisi semua kolom nonaggregated dalam daftar pilih. Ini tidak boleh berisi kolom lain. Misalnya, PILIH DEPT, MAX(GAJI) DARI EMPLOYEE GROUP BY DEPT. (ODBC 2.0)
SQL_GB_GROUP_BY_CONTAINS_SELECT = Klausul GROUP BY harus berisi semua kolom nonaggregated dalam daftar pilih. Ini dapat berisi kolom yang tidak ada dalam daftar pilih. Misalnya, SELECT DEPT, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT, AGE. (ODBC 2.0)
SQL_GB_NO_RELATION = Kolom dalam klausa GROUP BY dan daftar pilih tidak terkait. Arti kolom nongrouped dan nonaggregated dalam daftar pilih bergantung pada sumber data. Misalnya, PILIH DEPT, GAJI DARI GRUP KARYAWAN BERDASARKAN DEPT, USIA. (ODBC 2.0)

Driver SQL-92 Entry level-conformant akan selalu mengembalikan opsi SQL_GB_GROUP_BY_EQUALS_SELECT sebagaimana didukung. Driver SQL-92 Full level-conformant akan selalu mengembalikan opsi SQL_GB_COLLATE sebagaimana didukung. Jika tidak ada opsi yang didukung, klausa GROUP BY tidak didukung oleh sumber data.
SQL_IDENTIFIER_CASE 1.0 Nilai SQLUSMALLINT sebagai berikut:
SQL_IC_UPPER = Pengidentifikasi dalam SQL tidak peka huruf besar/kecil dan disimpan dalam huruf besar dalam katalog sistem.
SQL_IC_LOWER = Pengidentifikasi dalam SQL tidak peka huruf besar/kecil dan disimpan dalam huruf kecil dalam katalog sistem.
SQL_IC_SENSITIVE = Pengidentifikasi di SQL peka huruf besar/kecil dan disimpan dalam kasus campuran dalam katalog sistem.
SQL_IC_MIXED = Pengidentifikasi dalam SQL tidak peka huruf besar/kecil dan disimpan dalam kasus campuran dalam katalog sistem.

Karena pengidentifikasi di SQL-92 tidak pernah peka huruf besar/kecil, driver yang sesuai dengan SQL-92 (tingkat apa pun) tidak akan pernah mengembalikan opsi SQL_IC_SENSITIVE seperti yang didukung.
SQL_IDENTIFIER_QUOTE_CHAR 1.0 String karakter yang digunakan sebagai pemisah awal dan akhir pengidentifikasi yang dikutip (dibatasi) dalam pernyataan SQL. (Pengidentifikasi yang diteruskan sebagai argumen ke fungsi ODBC tidak harus dikutip.) Jika sumber data tidak mendukung pengidentifikasi yang dikutip, pengidentifikasi kosong akan dikembalikan.

String karakter ini juga dapat digunakan untuk mengutip argumen fungsi katalog saat atribut koneksi SQL_ATTR_METADATA_ID diatur ke SQL_TRUE.

Karena karakter kutipan pengidentifikasi di SQL-92 adalah tanda kutip ganda ("), driver yang sesuai dengan SQL-92 akan selalu mengembalikan karakter tanda kutip ganda.
SQL_INDEX_KEYWORDS 3.0 Bitmask SQLUINTEGER yang menghitung kata kunci dalam pernyataan CREATE INDEX yang didukung oleh driver:
SQL_IK_NONE = Tidak ada kata kunci yang didukung.
SQL_IK_ASC = Kata kunci ASC didukung.
SQL_IK_DESC = Kata kunci DESC didukung.
SQL_IK_ALL = Semua kata kunci didukung.

Untuk melihat apakah pernyataan CREATE INDEX didukung, aplikasi memanggil SQLGetInfo dengan jenis informasi SQL_DLL_INDEX.
SQL_INFO_SCHEMA_VIEWS 3.0 Bitmask SQLUINTEGER menghitung tampilan dalam INFORMATION_SCHEMA yang didukung oleh driver. Tampilan dalam, dan konten, INFORMATION_SCHEMA seperti yang didefinisikan dalam SQL-92.

Tingkat kesesuaian SQL-92 atau FIPS di mana fitur ini harus didukung ditampilkan dalam tanda kurung di samping setiap bitmask.

Bitmask berikut digunakan untuk menentukan tampilan mana yang didukung:
SQL_ISV_ASSERTIONS = Mengidentifikasi pernyataan katalog yang dimiliki oleh pengguna tertentu. (Tingkat penuh)
SQL_ISV_CHARACTER_SETS = Mengidentifikasi kumpulan karakter katalog yang dapat diakses oleh pengguna tertentu. (Tingkat menengah)
SQL_ISV_CHECK_CONSTRAINTS = Mengidentifikasi batasan CHECK yang dimiliki oleh pengguna tertentu. (Tingkat menengah)
SQL_ISV_COLLATIONS = Mengidentifikasi kolase karakter untuk katalog yang dapat diakses oleh pengguna tertentu. (Tingkat penuh)
SQL_ISV_COLUMN_DOMAIN_USAGE = Mengidentifikasi kolom untuk katalog yang bergantung pada domain yang ditentukan dalam katalog dan dimiliki oleh pengguna tertentu. (Tingkat menengah)
SQL_ISV_COLUMN_PRIVILEGES = Mengidentifikasi hak istimewa pada kolom tabel persisten yang tersedia untuk atau diberikan oleh pengguna tertentu. (Tingkat Transisi FIPS)
SQL_ISV_COLUMNS = Mengidentifikasi kolom tabel persisten yang dapat diakses oleh pengguna tertentu. (Tingkat Transisi FIPS)
SQL_ISV_CONSTRAINT_COLUMN_USAGE = Mirip dengan tampilan CONSTRAINT_TABLE_USAGE, kolom diidentifikasi untuk berbagai batasan yang dimiliki oleh pengguna tertentu. (Tingkat menengah)
SQL_ISV_CONSTRAINT_TABLE_USAGE = Mengidentifikasi tabel yang digunakan oleh batasan (referensial, unik, dan pernyataan), dan dimiliki oleh pengguna tertentu. (Tingkat menengah)
SQL_ISV_DOMAIN_CONSTRAINTS = Mengidentifikasi batasan domain (domain dalam katalog) yang dapat diakses oleh pengguna tertentu. (Tingkat menengah)
SQL_ISV_DOMAINS = Mengidentifikasi domain yang ditentukan dalam katalog yang dapat diakses oleh pengguna. (Tingkat menengah)
SQL_ISV_KEY_COLUMN_USAGE = Mengidentifikasi kolom yang ditentukan dalam katalog yang dibatasi sebagai kunci oleh pengguna tertentu. (Tingkat menengah)
SQL_ISV_REFERENTIAL_CONSTRAINTS = Mengidentifikasi batasan referensial yang dimiliki oleh pengguna tertentu. (Tingkat menengah)
SQL_ISV_SCHEMATA = Mengidentifikasi skema yang dimiliki oleh pengguna tertentu. (Tingkat menengah)
SQL_ISV_SQL_LANGUAGES = Mengidentifikasi tingkat kesesuaian SQL, opsi, dan dialek yang didukung oleh implementasi SQL. (Tingkat menengah)
SQL_ISV_TABLE_CONSTRAINTS = Mengidentifikasi batasan tabel yang dimiliki oleh pengguna tertentu. (Tingkat menengah)
SQL_ISV_TABLE_PRIVILEGES = Mengidentifikasi hak istimewa pada tabel persisten yang tersedia untuk atau diberikan oleh pengguna tertentu. (Tingkat Transisi FIPS)
SQL_ISV_TABLES = Mengidentifikasi tabel persisten yang ditentukan dalam katalog yang dapat diakses oleh pengguna tertentu. (Tingkat Transisi FIPS)
SQL_ISV_TRANSLATIONS = Mengidentifikasi terjemahan karakter untuk katalog yang dapat diakses oleh pengguna tertentu. (Tingkat penuh)
SQL_ISV_USAGE_PRIVILEGES = Mengidentifikasi hak istimewa PENGGUNAAN pada objek katalog yang tersedia untuk atau dimiliki oleh pengguna tertentu. (Tingkat Transisi FIPS)
SQL_ISV_VIEW_COLUMN_USAGE = Mengidentifikasi kolom tempat tampilan katalog yang dimiliki oleh pengguna tertentu bergantung. (Tingkat menengah)
SQL_ISV_VIEW_TABLE_USAGE = Mengidentifikasi tabel tempat tampilan katalog yang dimiliki oleh pengguna tertentu bergantung. (Tingkat menengah)
SQL_ISV_VIEWS = Mengidentifikasi tabel yang dilihat yang ditentukan dalam katalog ini yang dapat diakses oleh pengguna tertentu. (Tingkat Transisi FIPS)
SQL_INSERT_STATEMENT 3.0 Bitmask SQLUINTEGER yang menunjukkan dukungan untuk pernyataan INSERT :
SQL_IS_INSERT_LITERALS
SQL_IS_INSERT_SEARCHED
SQL_IS_SELECT_INTO

Driver SQL-92 Entry level-conformant akan selalu mengembalikan semua opsi ini sebagaimana didukung.
SQL_INTEGRITY 1.0 String karakter: "Y" jika sumber data mendukung Fasilitas Peningkatan Integritas; "N" jika tidak.

InfoType ini telah diganti namanya menjadi ODBC 3.0 dari infoType ODBC 2.0 SQL_ODBC_SQL_OPT_IEF.
SQL_KEYSET_CURSOR_ATTRIBUTES1 3.0 Bitmask SQLUINTEGER yang menjelaskan atribut kursor set kunci yang didukung oleh driver. Bitmask ini berisi subset atribut pertama; untuk subset kedua, lihat SQL_KEYSET_CURSOR_ATTRIBUTES2.

Bitmask berikut digunakan untuk menentukan atribut mana yang didukung:
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

Untuk deskripsi bitmask ini, lihat SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (dan ganti "kursor berbasis keyset" untuk "kursor dinamis" dalam deskripsi).

Driver SQL-92 Intermediate level-conformant biasanya akan mengembalikan opsi SQL_CA1_NEXT, SQL_CA1_ABSOLUTE, dan SQL_CA1_RELATIVE sebagaimana didukung, karena driver mendukung kursor yang dapat digulir melalui pernyataan FETCH SQL yang disematkan. Karena ini tidak secara langsung menentukan dukungan SQL yang mendasar, namun, kursor yang dapat digulirkan mungkin tidak didukung, bahkan untuk driver yang sesuai dengan tingkat menengah SQL-92.
SQL_KEYSET_CURSOR_ATTRIBUTES2 3.0 Bitmask SQLUINTEGER yang menjelaskan atribut kursor set kunci yang didukung oleh driver. Bitmask ini berisi subset atribut kedua; untuk subset pertama, lihat SQL_KEYSET_CURSOR_ATTRIBUTES1.

Bitmask berikut digunakan untuk menentukan atribut mana yang didukung:
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

Untuk deskripsi bitmask ini, lihat SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (dan ganti "kursor berbasis keyset" untuk "kursor dinamis" dalam deskripsi).
SQL_KEYWORDS 2.0 String karakter yang berisi daftar yang dipisahkan koma dari semua kata kunci khusus sumber data. Daftar ini tidak berisi kata kunci khusus untuk ODBC atau kata kunci yang digunakan oleh sumber data dan ODBC. Daftar ini mewakili semua kata kunci yang dipesan; aplikasi yang dapat dioperasikan tidak boleh menggunakan kata-kata ini dalam nama objek.

Untuk daftar kata kunci ODBC, lihat Kata Kunci Cadangan di Lampiran C: SQL Tata Bahasa. Nilai #define SQL_ODBC_KEYWORDS berisi daftar kata kunci ODBC yang dipisahkan koma.
SQL_LIKE_ESCAPE_CLAUSE 2.0 String karakter: "Y" jika sumber data mendukung karakter escape untuk karakter persen (%) dan karakter garis bawah (_) dalam predikat LIKE dan driver mendukung sintaks ODBC untuk menentukan karakter escape predikat LIKE ; "N" sebaliknya.
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS 3.0 Nilai SQLUINTEGER yang menentukan jumlah maksimum pernyataan bersamaan aktif dalam mode asinkron yang dapat didukung driver pada koneksi tertentu. Jika tidak ada batas tertentu atau batasnya tidak diketahui, nilai ini adalah nol.
SQL_MAX_BINARY_LITERAL_LEN 2.0 Nilai SQLUINTEGER yang menentukan panjang maksimum (jumlah karakter heksadesimal, tidak termasuk awalan literal dan akhiran yang dikembalikan oleh SQLGetTypeInfo) dari literal biner dalam pernyataan SQL. Misalnya, 0xFFAA harfiah biner memiliki panjang 4. Jika tidak ada panjang maksimum atau panjangnya tidak diketahui, nilai ini diatur ke nol.
SQL_MAX_CATALOG_NAME_LEN 1.0 Nilai SQLUSMALLINT yang menentukan panjang maksimum nama katalog di sumber data. Jika tidak ada panjang maksimum atau panjangnya tidak diketahui, nilai ini diatur ke nol.

Driver FIPS Full level-conformant akan mengembalikan setidaknya 128.

InfoType ini telah diganti namanya menjadi ODBC 3.0 dari infoType ODBC 2.0 SQL_MAX_QUALIFIER_NAME_LEN.
SQL_MAX_CHAR_LITERAL_LEN 2.0 Nilai SQLUINTEGER yang menentukan panjang maksimum (jumlah karakter, tidak termasuk awalan literal dan akhiran yang dikembalikan oleh SQLGetTypeInfo) dari literal karakter dalam pernyataan SQL. Jika tidak ada panjang maksimum atau panjangnya tidak diketahui, nilai ini diatur ke nol.
SQL_MAX_COLUMN_NAME_LEN 1.0 Nilai SQLUSMALLINT yang menentukan panjang maksimum nama kolom di sumber data. Jika tidak ada panjang maksimum atau panjangnya tidak diketahui, nilai ini diatur ke nol.

Driver penyesuaian tingkat Entri FIPS akan mengembalikan setidaknya 18. Driver berkesesuaian tingkat MENENGAH FIPS akan mengembalikan setidaknya 128.
SQL_MAX_COLUMNS_IN_GROUP_BY 2.0 Nilai SQLUSMALLINT yang menentukan jumlah maksimum kolom yang diizinkan dalam klausa GROUP BY . Jika tidak ada batas yang ditentukan atau batasnya tidak diketahui, nilai ini diatur ke nol.

Driver penyesuaian tingkat Entri FIPS akan mengembalikan setidaknya 6. Driver berkesesuaian tingkat MENENGAH FIPS akan mengembalikan setidaknya 15.
SQL_MAX_COLUMNS_IN_INDEX 2.0 Nilai SQLUSMALLINT yang menentukan jumlah maksimum kolom yang diizinkan dalam indeks. Jika tidak ada batas yang ditentukan atau batasnya tidak diketahui, nilai ini diatur ke nol.
SQL_MAX_COLUMNS_IN_ORDER_BY 2.0 Nilai SQLUSMALLINT yang menentukan jumlah maksimum kolom yang diizinkan dalam klausa ORDER BY . Jika tidak ada batas yang ditentukan atau batasnya tidak diketahui, nilai ini diatur ke nol.

Driver penyesuaian tingkat Entri FIPS akan mengembalikan setidaknya 6. Driver berkesesuaian tingkat MENENGAH FIPS akan mengembalikan setidaknya 15.
SQL_MAX_COLUMNS_IN_SELECT 2.0 Nilai SQLUSMALLINT yang menentukan jumlah maksimum kolom yang diizinkan dalam daftar pemilihan. Jika tidak ada batas yang ditentukan atau batasnya tidak diketahui, nilai ini diatur ke nol.

Driver penyesuaian tingkat Entri FIPS akan mengembalikan setidaknya 100. Driver berkesesuaian tingkat MENENGAH FIPS akan mengembalikan setidaknya 250.
SQL_MAX_COLUMNS_IN_TABLE 2.0 Nilai SQLUSMALLINT yang menentukan jumlah maksimum kolom yang diizinkan dalam tabel. Jika tidak ada batas yang ditentukan atau batasnya tidak diketahui, nilai ini diatur ke nol.

Driver penyesuaian tingkat Entri FIPS akan mengembalikan setidaknya 100. Driver berkesesuaian tingkat MENENGAH FIPS akan mengembalikan setidaknya 250.
SQL_MAX_CONCURRENT_ACTIVITIES 1.0 Nilai SQLUSMALLINT yang menentukan jumlah maksimum pernyataan aktif yang dapat didukung driver untuk koneksi. Pernyataan didefinisikan sebagai aktif jika memiliki hasil yang tertunda, dengan istilah "hasil" yang berarti baris dari operasi SELECT atau baris yang terpengaruh oleh operasi INSERT, UPDATE, atau DELETE (seperti jumlah baris), atau jika berada dalam status NEED_DATA. Nilai ini dapat mencerminkan batasan yang diberlakukan oleh driver atau sumber data. Jika tidak ada batas yang ditentukan atau batasnya tidak diketahui, nilai ini diatur ke nol.

InfoType ini telah diganti namanya menjadi ODBC 3.0 dari infoType ODBC 2.0 SQL_ACTIVE_STATEMENTS.
SQL_MAX_CURSOR_NAME_LEN 1.0 Nilai SQLUSMALLINT yang menentukan panjang maksimum nama kursor di sumber data. Jika tidak ada panjang maksimum atau panjangnya tidak diketahui, nilai ini diatur ke nol.

Driver penyesuaian tingkat Entri FIPS akan mengembalikan setidaknya 18. Driver berkesesuaian tingkat MENENGAH FIPS akan mengembalikan setidaknya 128.
SQL_MAX_DRIVER_CONNECTIONS 1.0 Nilai SQLUSMALLINT yang menentukan jumlah maksimum koneksi aktif yang dapat didukung driver untuk lingkungan. Nilai ini dapat mencerminkan batasan yang diberlakukan oleh driver atau sumber data. Jika tidak ada batas yang ditentukan atau batasnya tidak diketahui, nilai ini diatur ke nol.

InfoType ini telah diganti namanya menjadi ODBC 3.0 dari infoType ODBC 2.0 SQL_ACTIVE_CONNECTIONS.
SQL_MAX_IDENTIFIER_LEN 3.0 SQLUSMALLINT yang menunjukkan ukuran maksimum dalam karakter yang didukung sumber data untuk nama yang ditentukan pengguna.

Driver penyesuaian tingkat Entri FIPS akan mengembalikan setidaknya 18. Driver berkesesuaian tingkat MENENGAH FIPS akan mengembalikan setidaknya 128.
SQL_MAX_INDEX_SIZE 2.0 Nilai SQLUINTEGER yang menentukan jumlah maksimum byte yang diizinkan dalam bidang gabungan indeks. Jika tidak ada batas yang ditentukan atau batasnya tidak diketahui, nilai ini diatur ke nol.
SQL_MAX_PROCEDURE_NAME_LEN 1.0 Nilai SQLUSMALLINT yang menentukan panjang maksimum nama prosedur di sumber data. Jika tidak ada panjang maksimum atau panjangnya tidak diketahui, nilai ini diatur ke nol.
SQL_MAX_ROW_SIZE 2.0 Nilai SQLUINTEGER yang menentukan panjang maksimum satu baris dalam tabel. Jika tidak ada batas yang ditentukan atau batasnya tidak diketahui, nilai ini diatur ke nol.

Driver penyesuaian tingkat Entri FIPS akan mengembalikan setidaknya 2.000. Driver berkesesuaian tingkat MENENGAH FIPS akan mengembalikan setidaknya 8.000.
SQL_MAX_ROW_SIZE_INCLUDES_LONG 3.0 String karakter: "Y" jika ukuran baris maksimum yang dikembalikan untuk jenis informasi SQL_MAX_ROW_SIZE mencakup panjang semua kolom SQL_LONGVARCHAR dan SQL_LONGVARBINARY dalam baris; "N" sebaliknya.
SQL_MAX_SCHEMA_NAME_LEN 1.0 Nilai SQLUSMALLINT yang menentukan panjang maksimum nama skema di sumber data. Jika tidak ada panjang maksimum atau panjangnya tidak diketahui, nilai ini diatur ke nol.

Driver penyesuaian tingkat Entri FIPS akan mengembalikan setidaknya 18. Driver berkesesuaian tingkat MENENGAH FIPS akan mengembalikan setidaknya 128.

InfoType ini telah diganti namanya menjadi ODBC 3.0 dari infoType ODBC 2.0 SQL_MAX_OWNER_NAME_LEN.
SQL_MAX_STATEMENT_LEN 2.0 Nilai SQLUINTEGER yang menentukan panjang maksimum (jumlah karakter, termasuk spasi kosong) dari pernyataan SQL. Jika tidak ada panjang maksimum atau panjangnya tidak diketahui, nilai ini diatur ke nol.
SQL_MAX_TABLE_NAME_LEN 1.0 Nilai SQLUSMALLINT yang menentukan panjang maksimum nama tabel di sumber data. Jika tidak ada panjang maksimum atau panjangnya tidak diketahui, nilai ini diatur ke nol.

Driver penyesuaian tingkat Entri FIPS akan mengembalikan setidaknya 18. Driver berkesesuaian tingkat MENENGAH FIPS akan mengembalikan setidaknya 128.
SQL_MAX_TABLES_IN_SELECT 2.0 Nilai SQLUSMALLINT yang menentukan jumlah maksimum tabel yang diizinkan dalam klausa FROM dari pernyataan SELECT . Jika tidak ada batas yang ditentukan atau batasnya tidak diketahui, nilai ini diatur ke nol.

Driver penyesuaian tingkat Entri FIPS akan mengembalikan setidaknya 15. Driver yang sesuai dengan tingkat MENENGAH FIPS akan mengembalikan setidaknya 50.
SQL_MAX_USER_NAME_LEN 2.0 Nilai SQLUSMALLINT yang menentukan panjang maksimum nama pengguna di sumber data. Jika tidak ada panjang maksimum atau panjangnya tidak diketahui, nilai ini diatur ke nol.
SQL_MULT_RESULT_SETS 1.0 String karakter: "Y" jika sumber data mendukung beberapa tataan hasil, "N" jika tidak.

Untuk informasi selengkapnya tentang beberapa tataan hasil, lihat Beberapa Hasil.
SQL_MULTIPLE_ACTIVE_TXN 1.0 String karakter: "Y" jika driver mendukung lebih dari satu transaksi aktif pada saat yang sama, "N" jika hanya satu transaksi yang dapat aktif kapan saja.

Informasi yang dikembalikan untuk jenis informasi ini tidak berlaku dalam kasus transaksi terdistribusi.
SQL_NEED_LONG_DATA_LEN 2.0 String karakter: "Y" jika sumber data membutuhkan panjang nilai data yang panjang (jenis data SQL_LONGVARCHAR, SQL_LONGVARBINARY, atau jenis data khusus sumber data yang panjang) sebelum nilai tersebut dikirim ke sumber data, "N" jika tidak. Untuk informasi selengkapnya, lihat Fungsi SQLBindParameter dan Fungsi SQLSetPos.
SQL_NON_NULLABLE_COLUMNS 1.0 Nilai SQLUSMALLINT yang menentukan apakah sumber data mendukung NOT NULL dalam kolom:
SQL_NNC_NULL = Semua kolom harus dapat diubah ke null.
SQL_NNC_NON_NULL = Kolom tidak dapat diubah ke null. (Sumber data mendukung batasan kolom NOT NULL dalam pernyataan CREATE TABLE .)

Driver SQL-92 Entry level-conformant akan mengembalikan SQL_NNC_NON_NULL.
SQL_NULL_COLLATION 2.0 Nilai SQLUSMALLINT yang menentukan tempat NULL diurutkan dalam tataan hasil:
SQL_NC_END = NULL diurutkan di akhir kumpulan hasil, terlepas dari kata kunci ASC atau DESC.
SQL_NC_HIGH = NULL diurutkan di ujung atas kumpulan hasil, tergantung pada kata kunci ASC atau DESC.
SQL_NC_LOW = NULL diurutkan di ujung bawah kumpulan hasil, tergantung pada kata kunci ASC atau DESC.
SQL_NC_START = NULL diurutkan di awal kumpulan hasil, terlepas dari kata kunci ASC atau DESC.
SQL_NUMERIC_FUNCTIONS 1.0 Catatan: Jenis informasi diperkenalkan di ODBC 1.0; setiap bitmask diberi label dengan versi di mana bitmask diperkenalkan.

Bitmask SQLUINTEGER menghitung fungsi numerik skalar yang didukung oleh driver dan sumber data terkait.

Bitmask berikut digunakan untuk menentukan fungsi numerik mana yang didukung:
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 Nilai SQLUINTEGER yang menunjukkan tingkat antarmuka ODBC 3*.x* yang dipatuhi driver.

SQL_OIC_CORE: Tingkat minimum yang diharapkan untuk mematuhi semua driver ODBC. Tingkat ini mencakup elemen antarmuka dasar seperti fungsi koneksi, fungsi untuk menyiapkan dan menjalankan pernyataan SQL, fungsi metadata tataan hasil dasar, fungsi katalog dasar, dan sebagainya.
SQL_OIC_LEVEL1: Tingkat termasuk fungsionalitas tingkat kepatuhan standar inti, ditambah kursor yang dapat digulir, marka buku, pembaruan dan penghapusan yang diposisikan, dan sebagainya.
SQL_OIC_LEVEL2: Tingkat termasuk fungsionalitas tingkat kepatuhan standar tingkat 1, ditambah fitur lanjutan seperti kursor sensitif; memperbarui, menghapus, dan merefresh menurut marka buku; dukungan prosedur tersimpan; fungsi katalog untuk kunci primer dan asing; dukungan multi-katalog; dan sebagainya.

Untuk informasi selengkapnya, lihat Tingkat Kesuaian Antarmuka.
SQL_ODBC_VER 1.0 String karakter dengan versi ODBC yang sesuai dengan Manajer Driver. Versinya adalah formulir ##.##.0000, di mana dua digit pertama adalah versi utama dan dua digit berikutnya adalah versi minor. Ini hanya diimplementasikan di Manajer Driver.
SQL_OJ_CAPABILITIES 2.01 Bitmask SQLUINTEGER menghitung jenis gabungan luar yang didukung oleh driver dan sumber data. Bitmask berikut digunakan untuk menentukan jenis mana yang didukung:
SQL_OJ_LEFT = Gabungan luar kiri didukung.
SQL_OJ_RIGHT = Gabungan luar kanan didukung.
SQL_OJ_FULL = Gabungan luar penuh didukung.
SQL_OJ_NESTED = Gabungan luar berlapis didukung.
SQL_OJ_NOT_ORDERED = Nama kolom dalam klausul ON dari gabungan luar tidak harus dalam urutan yang sama dengan nama tabel masing-masing dalam klausul OUTER JOIN .
SQL_OJ_INNER = Tabel dalam (tabel kanan di gabungan luar kiri atau tabel kiri di gabungan luar kanan) juga dapat digunakan dalam gabungan dalam. Ini tidak berlaku untuk gabungan luar penuh, yang tidak memiliki tabel dalam.
SQL_OJ_ALL_COMPARISON_OPS = Operator perbandingan dalam klausa ON dapat menjadi salah satu operator perbandingan ODBC. Jika bit ini tidak diatur, hanya operator perbandingan yang sama (=) yang dapat digunakan dalam gabungan luar.

Jika tidak ada opsi ini yang dikembalikan sebagai didukung, tidak ada klausa gabungan luar yang didukung.

Untuk informasi tentang dukungan operator gabungan relasional dalam pernyataan SELECT, seperti yang didefinisikan oleh SQL-92, lihat SQL_SQL92_RELATIONAL_JOIN_OPERATORS.
SQL_ORDER_BY_COLUMNS_IN_SELECT 2.0 String karakter: "Y" jika kolom dalam klausul ORDER BY harus berada dalam daftar pemilihan; jika tidak, "N".
SQL_PARAM_ARRAY_ROW_COUNTS 3.0 SQLUINTEGER menghitung properti driver mengenai ketersediaan jumlah baris dalam eksekusi berparameter. Memiliki nilai berikut:
SQL_PARC_BATCH = Jumlah baris individual tersedia untuk setiap set parameter. Ini secara konseptual setara dengan driver yang menghasilkan batch pernyataan SQL, satu untuk setiap parameter yang diatur dalam array. Informasi kesalahan yang diperluas dapat diambil dengan menggunakan bidang deskriptor SQL_PARAM_STATUS_PTR.
SQL_PARC_NO_BATCH = Hanya ada satu jumlah baris yang tersedia, yang merupakan jumlah baris kumulatif yang dihasilkan dari eksekusi pernyataan untuk seluruh array parameter. Ini secara konseptual setara dengan memperlakukan pernyataan bersama dengan array parameter lengkap sebagai satu unit atomik. Kesalahan ditangani sama seperti jika satu pernyataan dijalankan.
SQL_PARAM_ARRAY_SELECTS 3.0 SQLUINTEGER menghitung properti driver mengenai ketersediaan tataan hasil dalam eksekusi berparameter. Memiliki nilai berikut:
SQL_PAS_BATCH = Ada satu tataan hasil yang tersedia per set parameter. Ini secara konseptual setara dengan driver yang menghasilkan batch pernyataan SQL, satu untuk setiap parameter yang diatur dalam array.
SQL_PAS_NO_BATCH = Hanya ada satu tataan hasil yang tersedia, yang mewakili tataan hasil kumulatif yang dihasilkan dari eksekusi pernyataan untuk array parameter lengkap. Ini secara konseptual setara dengan memperlakukan pernyataan bersama dengan array parameter lengkap sebagai satu unit atomik.
SQL_PAS_NO_SELECT = Driver tidak mengizinkan pernyataan pembuatan tataan hasil dijalankan dengan array parameter.
SQL_POS_OPERATIONS 2.0 Bitmask SQLINTEGER menghitung operasi dukungan di SQLSetPos.

Bitmask berikut digunakan bersama dengan bendera untuk menentukan opsi mana yang didukung.
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 String karakter dengan nama vendor sumber data untuk prosedur; misalnya, "prosedur database", "prosedur tersimpan", "prosedur", "paket", atau "kueri tersimpan".
SQL_PROCEDURES 1.0 String karakter: "Y" jika sumber data mendukung prosedur dan driver mendukung sintaks pemanggilan prosedur ODBC; "N" sebaliknya.
SQL_QUOTED_IDENTIFIER_CASE 2.0 Nilai SQLUSMALLINT sebagai berikut:
SQL_IC_UPPER = Pengidentifikasi yang dikutip di SQL tidak peka huruf besar/kecil dan disimpan dalam huruf besar dalam katalog sistem.
SQL_IC_LOWER = Pengidentifikasi yang dikutip di SQL tidak peka huruf besar/kecil dan disimpan dalam huruf kecil dalam katalog sistem.
SQL_IC_SENSITIVE = Pengidentifikasi yang dikutip di SQL peka huruf besar/kecil dan disimpan dalam kasus campuran dalam katalog sistem. (Dalam database yang mematuhi SQL-92, pengidentifikasi yang dikutip selalu peka huruf besar/kecil.)
SQL_IC_MIXED = Pengidentifikasi yang dikutip dalam SQL tidak peka huruf besar/kecil dan disimpan dalam kasus campuran dalam katalog sistem.

Driver SQL-92 Entry level-conformant akan selalu mengembalikan SQL_IC_SENSITIVE.
SQL_ROW_UPDATES 1.0 String karakter: "Y" jika kursor berbasis keyset atau campuran mempertahankan versi atau nilai baris untuk semua baris yang diambil dan oleh karena itu dapat mendeteksi pembaruan apa pun yang dibuat untuk baris oleh pengguna mana pun sejak baris terakhir diambil. (Ini hanya berlaku untuk pembaruan, bukan untuk penghapusan atau penyisipan.) Driver dapat mengembalikan bendera SQL_ROW_UPDATED ke array status baris saat SQLFetchScroll dipanggil. Jika tidak, "N".
SQL_SCHEMA_TERM 1.0 String karakter dengan nama vendor sumber data untuk skema; misalnya, "pemilik", "ID Otorisasi", atau "Skema".

String karakter dapat dikembalikan dalam huruf besar, kecil, atau campuran.

Driver SQL-92 Entry level-conformant akan selalu mengembalikan "skema".

InfoType ini telah diganti namanya menjadi ODBC 3.0 dari infoType ODBC 2.0 SQL_OWNER_TERM.
SQL_SCHEMA_USAGE 2.0 Bitmask SQLUINTEGER yang menghitung pernyataan di mana skema dapat digunakan:
SQL_SU_DML_STATEMENTS = Skema didukung di semua pernyataan Bahasa Manipulasi Data: SELECT, INSERT, UPDATE, DELETE, dan jika didukung, SELECT FOR UPDATE dan pernyataan pembaruan dan penghapusan yang diposisikan.
SQL_SU_PROCEDURE_INVOCATION = Skema didukung dalam pernyataan pemanggilan prosedur ODBC.
SQL_SU_TABLE_DEFINITION = Skema didukung dalam semua pernyataan definisi tabel: CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE, dan DROP VIEW.
SQL_SU_INDEX_DEFINITION = Skema didukung di semua pernyataan definisi indeks: CREATE INDEX dan DROP INDEX.
SQL_SU_PRIVILEGE_DEFINITION = Skema didukung dalam semua pernyataan definisi hak istimewa: GRANT dan REVOKE.

Driver yang sesuai dengan tingkat entri SQL-92 akan selalu mengembalikan opsi SQL_SU_DML_STATEMENTS, SQL_SU_TABLE_DEFINITION, dan SQL_SU_PRIVILEGE_DEFINITION, sebagaimana didukung.

InfoType ini telah diganti namanya menjadi ODBC 3.0 dari infoType ODBC 2.0 SQL_OWNER_USAGE.
SQL_SCROLL_OPTIONS 1.0 Catatan: Jenis informasi diperkenalkan di ODBC 1.0; setiap bitmask diberi label dengan versi di mana bitmask diperkenalkan.

Bitmask SQLUINTEGER yang menghitung opsi gulir yang didukung untuk kursor yang dapat digulirkan.

Bitmask berikut digunakan untuk menentukan opsi mana yang didukung:
SQL_SO_FORWARD_ONLY = Kursor hanya menggulir ke depan. (ODBC 1.0)
SQL_SO_STATIC = Data dalam kumpulan hasil bersifat statis. (ODBC 2.0)
SQL_SO_KEYSET_DRIVEN = Driver menyimpan dan menggunakan kunci untuk setiap baris dalam tataan hasil. (ODBC 1.0)
SQL_SO_DYNAMIC = Driver menyimpan kunci untuk setiap baris dalam set baris (ukuran set kunci sama dengan ukuran set baris). (ODBC 1.0)
SQL_SO_MIXED = Driver menyimpan kunci untuk setiap baris dalam set kunci, dan ukuran set kunci lebih besar dari ukuran set baris. Kursor digerakkan oleh keyset di dalam set kunci dan dinamis di luar set kunci. (ODBC 1.0)

Untuk informasi tentang kursor yang dapat digulir, lihat Kursor yang Dapat Digulir.
SQL_SEARCH_PATTERN_ESCAPE 1.0 String karakter yang menentukan apa yang didukung driver sebagai karakter escape yang memungkinkan penggunaan metacharacters pencocokan pola garis bawah (_) dan tanda persen (%) sebagai karakter yang valid dalam pola pencarian. Karakter escape ini hanya berlaku untuk argumen fungsi katalog yang mendukung string pencarian. Jika string ini kosong, driver tidak mendukung karakter escape pola pencarian.

Karena jenis informasi ini tidak menunjukkan dukungan umum karakter escape dalam predikat LIKE, SQL-92 tidak menyertakan persyaratan untuk string karakter ini.

InfoType ini terbatas pada fungsi katalog. Untuk deskripsi penggunaan karakter escape dalam string pola pencarian, lihat Argumen Nilai Pola.
SQL_SERVER_NAME 1.0 String karakter dengan nama server khusus sumber data aktual; berguna saat nama sumber data digunakan selama SQLConnect, SQLDriverConnect, dan SQLBrowseConnect.
SQL_SPECIAL_CHARACTERS 2.0 String karakter yang berisi semua karakter khusus (yaitu, semua karakter kecuali hingga z, A hingga Z, 0 hingga 9, dan garis bawah) yang dapat digunakan dalam nama pengidentifikasi, seperti nama tabel, nama kolom, atau nama indeks, pada sumber data. Misalnya, "#$^". Jika pengidentifikasi berisi satu atau beberapa karakter ini, pengidentifikasi harus berupa pengidentifikasi yang dibatasi.
SQL_SQL_CONFORMANCE 3.0 Nilai SQLUINTEGER yang menunjukkan tingkat SQL-92 yang didukung oleh driver:
SQL_SC_SQL92_ENTRY = Sesuai dengan tingkat pemula SQL-92.
SQL_SC_FIPS127_2_TRANSITIONAL = sesuai dengan tingkat transisi FIPS 127-2.
SQL_SC_SQL92_FULL = Kepatuhan SQL-92 tingkat penuh.
SQL_SC_ SQL92_INTERMEDIATE = Sesuai tingkat menengah SQL-92.
SQL_SQL92_DATETIME_FUNCTIONS 3.0 Bitmask SQLUINTEGER yang menghitung fungsi skalar tanggalwaktu yang didukung oleh driver dan sumber data terkait, seperti yang didefinisikan dalam SQL-92.

Bitmask berikut digunakan untuk menentukan fungsi tanggalwaktu mana yang didukung:
SQL_SDF_CURRENT_DATE
SQL_SDF_CURRENT_TIME
SQL_SDF_CURRENT_TIMESTAMP
SQL_SQL92_FOREIGN_KEY_DELETE_RULE 3.0 Bitmask SQLUINTEGER yang menghitung aturan yang didukung untuk kunci asing dalam pernyataan DELETE, seperti yang didefinisikan dalam SQL-92.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung oleh sumber data:
SQL_SFKD_CASCADE
SQL_SFKD_NO_ACTION
SQL_SFKD_SET_DEFAULT
SQL_SFKD_SET_NULL

Driver yang sesuai dengan tingkat Transisi FIPS akan selalu mengembalikan semua opsi ini sebagaimana didukung.
SQL_SQL92_FOREIGN_KEY_UPDATE_RULE 3.0 Bitmask SQLUINTEGER menghitung aturan yang didukung untuk kunci asing dalam pernyataan UPDATE, seperti yang didefinisikan dalam SQL-92.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung oleh sumber data:
SQL_SFKU_CASCADE
SQL_SFKU_NO_ACTION
SQL_SFKU_SET_DEFAULT
SQL_SFKU_SET_NULL

Driver SQL-92 Full level-conformant akan selalu mengembalikan semua opsi ini sebagaimana didukung.
SQL_SQL92_GRANT 3.0 Bitmask SQLUINTEGER menghitung klausa yang didukung dalam pernyataan GRANT, seperti yang didefinisikan dalam SQL-92.

Tingkat kesesuaian SQL-92 atau FIPS di mana fitur ini harus didukung ditampilkan dalam tanda kurung di samping setiap bitmask.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung oleh sumber data:
SQL_SG_DELETE_TABLE (Tingkat entri)
SQL_SG_INSERT_COLUMN (Tingkat menengah)
SQL_SG_INSERT_TABLE (Tingkat entri)
SQL_SG_REFERENCES_TABLE (Tingkat entri)
SQL_SG_REFERENCES_COLUMN (Tingkat entri)
SQL_SG_SELECT_TABLE (Tingkat entri)
SQL_SG_UPDATE_COLUMN (Tingkat entri)
SQL_SG_UPDATE_TABLE (Tingkat entri)
SQL_SG_USAGE_ON_DOMAIN (tingkat Transisi FIPS)
SQL_SG_USAGE_ON_CHARACTER_SET (tingkat Transisi FIPS)
SQL_SG_USAGE_ON_COLLATION (tingkat Transisi FIPS)
SQL_SG_USAGE_ON_TRANSLATION (tingkat Transisi FIPS)
SQL_SG_WITH_GRANT_OPTION (Tingkat entri)
SQL_SQL92_NUMERIC_VALUE_FUNCTIONS 3.0 Bitmask SQLUINTEGER menghitung fungsi skalar nilai numerik yang didukung oleh driver dan sumber data terkait, seperti yang didefinisikan dalam SQL-92.

Bitmask berikut digunakan untuk menentukan fungsi numerik mana yang didukung:
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 Bitmask SQLUINTEGER menghitung predikat yang didukung dalam pernyataan SELECT, seperti yang didefinisikan dalam SQL-92.

Tingkat kesesuaian SQL-92 atau FIPS di mana fitur ini harus didukung ditampilkan dalam tanda kurung di samping setiap bitmask.

Bitmask berikut digunakan untuk menentukan opsi mana yang didukung oleh sumber data:
SQL_SP_BETWEEN (Tingkat entri)
SQL_SP_COMPARISON (Tingkat entri)
SQL_SP_EXISTS (Tingkat entri)
SQL_SP_IN (Tingkat entri)
SQL_SP_ISNOTNULL (Tingkat entri)
SQL_SP_ISNULL (Tingkat entri)
SQL_SP_LIKE (Tingkat entri)
SQL_SP_MATCH_FULL (Tingkat penuh)
SQL_SP_MATCH_PARTIAL(Tingkat penuh)
SQL_SP_MATCH_UNIQUE_FULL (Tingkat penuh)
SQL_SP_MATCH_UNIQUE_PARTIAL (Tingkat penuh)
SQL_SP_OVERLAPS (tingkat Transisi FIPS)
SQL_SP_QUANTIFIED_COMPARISON (Tingkat entri)
SQL_SP_UNIQUE (Tingkat entri)
SQL_SQL92_RELATIONAL_JOIN_OPERATORS 3.0 Bitmask SQLUINTEGER menghitung operator gabungan relasional yang didukung dalam pernyataan SELECT, seperti yang didefinisikan dalam SQL-92.

Tingkat kesesuaian SQL-92 atau FIPS di mana fitur ini harus didukung ditampilkan dalam tanda kurung di samping setiap bitmask.

Bitmask berikut digunakan untuk menentukan opsi mana yang didukung oleh sumber data:
SQL_SRJO_CORRESPONDING_CLAUSE (Tingkat menengah)
SQL_SRJO_CROSS_JOIN (Tingkat penuh)
SQL_SRJO_EXCEPT_JOIN (Tingkat menengah)
SQL_SRJO_FULL_OUTER_JOIN (Tingkat menengah)
SQL_SRJO_INNER_JOIN (tingkat Transisi FIPS)
SQL_SRJO_INTERSECT_JOIN (Tingkat menengah)
SQL_SRJO_LEFT_OUTER_JOIN (tingkat Transisi FIPS)
SQL_SRJO_NATURAL_JOIN (tingkat Transisi FIPS)
SQL_SRJO_RIGHT_OUTER_JOIN (tingkat Transisi FIPS)
SQL_SRJO_UNION_JOIN (Tingkat penuh)

SQL_SRJO_INNER_JOIN menunjukkan dukungan untuk sintaks INNER JOIN , bukan untuk kemampuan gabungan dalam. Dukungan untuk sintaks INNER JOIN adalah FIPS TRANSITIONAL, sedangkan dukungan untuk kemampuan gabungan dalam adalah ENTRY.
SQL_SQL92_REVOKE 3.0 Bitmask SQLUINTEGER menghitung klausa yang didukung dalam pernyataan REVOKE, seperti yang didefinisikan dalam SQL-92, didukung oleh sumber data.

Tingkat kesesuaian SQL-92 atau FIPS di mana fitur ini harus didukung ditampilkan dalam tanda kurung di samping setiap bitmask.

Bitmask berikut digunakan untuk menentukan klausa mana yang didukung oleh sumber data:
SQL_SR_CASCADE (tingkat Transisi FIPS)
SQL_SR_DELETE_TABLE (Tingkat entri)
SQL_SR_GRANT_OPTION_FOR (Tingkat menengah)
SQL_SR_INSERT_COLUMN (Tingkat menengah)
SQL_SR_INSERT_TABLE (Tingkat entri)
SQL_SR_REFERENCES_COLUMN (Tingkat entri)
SQL_SR_REFERENCES_TABLE (Tingkat entri)
SQL_SR_RESTRICT (tingkat Transisi FIPS)
SQL_SR_SELECT_TABLE (Tingkat entri)
SQL_SR_UPDATE_COLUMN (Tingkat entri)
SQL_SR_UPDATE_TABLE (Tingkat entri)
SQL_SR_USAGE_ON_DOMAIN (tingkat Transisi FIPS)
SQL_SR_USAGE_ON_CHARACTER_SET (tingkat Transisi FIPS)
SQL_SR_USAGE_ON_COLLATION (tingkat Transisi FIPS)
SQL_SR_USAGE_ON_TRANSLATION (tingkat Transisi FIPS)
SQL_SQL92_ROW_VALUE_CONSTRUCTOR 3.0 Bitmask SQLUINTEGER menghitung ekspresi konstruktor nilai baris yang didukung dalam pernyataan SELECT, seperti yang didefinisikan dalam SQL-92. Bitmask berikut digunakan untuk menentukan opsi mana yang didukung oleh sumber data:
SQL_SRVC_VALUE_EXPRESSION
SQL_SRVC_NULL
SQL_SRVC_DEFAULT
SQL_SRVC_ROW_SUBQUERY
SQL_SQL92_STRING_FUNCTIONS 3.0 Bitmask SQLUINTEGER menghitung fungsi skalar string yang didukung oleh driver dan sumber data terkait, seperti yang didefinisikan dalam SQL-92.

Bitmask berikut digunakan untuk menentukan fungsi string mana yang didukung:
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 Bitmask SQLUINTEGER menghitung ekspresi nilai yang didukung, seperti yang didefinisikan dalam SQL-92.

Tingkat kesesuaian SQL-92 atau FIPS di mana fitur ini harus didukung ditampilkan dalam tanda kurung di samping setiap bitmask.

Bitmask berikut digunakan untuk menentukan opsi mana yang didukung oleh sumber data:
SQL_SVE_CASE (Tingkat menengah)
SQL_SVE_CAST (tingkat Transisi FIPS)
SQL_SVE_COALESCE (Tingkat menengah)
SQL_SVE_NULLIF (Tingkat menengah)
SQL_STANDARD_CLI_CONFORMANCE 3.0 Bitmask SQLUINTEGER menghitung standar atau standar CLI yang sesuai dengan driver. Bitmask berikut digunakan untuk menentukan tingkat mana yang mematuhi driver:
SQL_SCC_XOPEN_CLI_VERSION1: Driver mematuhi Open Group CLI versi 1.
SQL_SCC_ISO92_CLI: Driver mematuhi ISO 92 CLI.
SQL_STATIC_CURSOR_ATTRIBUTES1 3.0 Bitmask SQLUINTEGER yang menjelaskan atribut kursor statis yang didukung oleh driver. Bitmask ini berisi subset atribut pertama; untuk subset kedua, lihat SQL_STATIC_CURSOR_ATTRIBUTES2.

Bitmask berikut digunakan untuk menentukan atribut mana yang didukung:
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

Untuk deskripsi bitmask ini, lihat SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (dan ganti "kursor statis" untuk "kursor dinamis" dalam deskripsi).

Driver yang sesuai tingkat menengah SQL-92 biasanya akan mengembalikan opsi SQL_CA1_NEXT, SQL_CA1_ABSOLUTE, dan SQL_CA1_RELATIVE sebagai didukung, karena driver mendukung kursor yang dapat digulir melalui pernyataan FETCH SQL yang disematkan. Karena ini tidak secara langsung menentukan dukungan SQL yang mendasar, namun, kursor yang dapat digulir mungkin tidak didukung, bahkan untuk driver yang sesuai tingkat menengah SQL-92.
SQL_STATIC_CURSOR_ATTRIBUTES2 3.0 Bitmask SQLUINTEGER yang menjelaskan atribut kursor statis yang didukung oleh driver. Bitmask ini berisi subset atribut kedua; untuk subset pertama, lihat SQL_STATIC_CURSOR_ATTRIBUTES1.

Bitmask berikut digunakan untuk menentukan atribut mana yang didukung:
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

Untuk deskripsi bitmask ini, lihat SQL_DYNAMIC_CURSOR_ATTRIBUTES2 (dan ganti "kursor statis" untuk "kursor dinamis" dalam deskripsi).
SQL_STRING_FUNCTIONS 1.0 Catatan: Jenis informasi diperkenalkan di ODBC 1.0; setiap bitmask diberi label dengan versi di mana bitmask diperkenalkan.

Bitmask SQLUINTEGER yang menghitung fungsi string skalar yang didukung oleh driver dan sumber data terkait.

Bitmask berikut digunakan untuk menentukan fungsi string mana yang didukung:
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)

Jika aplikasi dapat memanggil fungsi skalar LOCATE dengan argumen string_exp1, string_exp2, dan start , driver mengembalikan bitmask SQL_FN_STR_LOCATE. Jika aplikasi dapat memanggil fungsi skalar LOCATE hanya dengan argumen string_exp1 dan string_exp2 , driver mengembalikan bitmask SQL_FN_STR_LOCATE_2. Driver yang sepenuhnya mendukung fungsi skalar LOCATE mengembalikan kedua bitmask.

(Untuk informasi selengkapnya, lihat Fungsi String di Lampiran E, "Fungsi Skalar.")
SQL_SUBQUERIES 2.0 Bitmask SQLUINTEGER menghitung predikat yang mendukung subkueri:
SQL_SQ_CORRELATED_SUBQUERIES
SQL_SQ_COMPARISON
SQL_SQ_EXISTS
SQL_SQ_INSQL_SQ_QUANTIFIED

Bitmask SQL_SQ_CORRELATED_SUBQUERIES menunjukkan bahwa semua predikat yang mendukung subkueri mendukung subkueri yang berkorelasi.

Driver SQL-92 Entry level-conformant akan selalu mengembalikan bitmask di mana semua bit ini diatur.
SQL_SYSTEM_FUNCTIONS 1.0 Bitmask SQLUINTEGER yang menghitung fungsi sistem skalar yang didukung oleh driver dan sumber data terkait.

Bitmask berikut digunakan untuk menentukan fungsi sistem mana yang didukung:
SQL_FN_SYS_DBNAME
SQL_FN_SYS_IFNULL
SQL_FN_SYS_USERNAME
SQL_TABLE_TERM 1.0 String karakter dengan nama vendor sumber data untuk tabel; misalnya, "table" atau "file".

String karakter ini dapat berada dalam huruf besar, bawah, atau campuran.

Driver SQL-92 Entry level-conformant akan selalu mengembalikan "table".
SQL_TIMEDATE_ADD_INTERVALS 2.0 Bitmask SQLUINTEGER yang menghitung interval tanda waktu yang didukung oleh driver dan sumber data terkait untuk fungsi skalar TIMESTAMPADD.

Bitmask berikut digunakan untuk menentukan interval mana yang didukung:
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

Driver yang sesuai dengan tingkat Transisi FIPS akan selalu mengembalikan bitmask di mana semua bit ini diatur.
SQL_TIMEDATE_DIFF_INTERVALS 2.0 Bitmask SQLUINTEGER yang menghitung interval tanda waktu yang didukung oleh driver dan sumber data terkait untuk fungsi skalar TIMESTAMPDIFF.

Bitmask berikut digunakan untuk menentukan interval mana yang didukung:
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

Driver yang sesuai dengan tingkat Transisi FIPS akan selalu mengembalikan bitmask di mana semua bit ini diatur.
SQL_TIMEDATE_FUNCTIONS 1.0 Catatan: Jenis informasi diperkenalkan di ODBC 1.0; setiap bitmask diberi label dengan versi di mana bitmask diperkenalkan.

Bitmask SQLUINTEGER yang menghitung fungsi tanggal dan waktu skalar yang didukung oleh driver dan sumber data terkait.

Bitmask berikut digunakan untuk menentukan fungsi tanggal dan waktu mana yang didukung:
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 Catatan: Jenis informasi diperkenalkan di ODBC 1.0; setiap nilai yang dikembalikan diberi label dengan versi saat diperkenalkan.

Nilai SQLUSMALLINT yang menjelaskan dukungan transaksi di driver atau sumber data:
SQL_TC_NONE = Transaksi tidak didukung. (ODBC 1.0)
SQL_TC_DML = Transaksi hanya dapat berisi pernyataan Bahasa Manipulasi Data (DML) (SELECT, INSERT, UPDATE, DELETE). Pernyataan Data Definition Language (DDL) yang ditemui dalam transaksi menyebabkan kesalahan. (ODBC 1.0)
SQL_TC_DDL_COMMIT = Transaksi hanya dapat berisi pernyataan DML. Pernyataan DDL (CREATE TABLE, DROP INDEX, dan sebagainya) yang ditemui dalam transaksi menyebabkan transaksi dilakukan. (ODBC 2.0)
SQL_TC_DDL_IGNORE = Transaksi hanya dapat berisi pernyataan DML. Pernyataan DDL yang ditemui dalam transaksi diabaikan. (ODBC 2.0)
SQL_TC_ALL = Transaksi dapat berisi pernyataan DDL dan pernyataan DML dalam urutan apa pun. (ODBC 1.0)

(Karena dukungan transaksi adalah wajib dalam SQL-92, driver SQL-92 yang sesuai [tingkat apa pun] tidak akan pernah mengembalikan SQL_TC_NONE.)
SQL_TXN_ISOLATION_OPTION 1.0 Bitmask SQLUINTEGER yang menghitung tingkat isolasi transaksi yang tersedia dari driver atau sumber data.

Bitmask berikut digunakan bersama dengan bendera untuk menentukan opsi mana yang didukung:
SQL_TXN_READ_UNCOMMITTED
SQL_TXN_READ_COMMITTED
SQL_TXN_REPEATABLE_READ
SQL_TXN_SERIALIZABLE

Untuk deskripsi tingkat isolasi ini, lihat deskripsi SQL_DEFAULT_TXN_ISOLATION.

Untuk mengatur tingkat isolasi transaksi, aplikasi memanggil SQLSetConnectAttr untuk mengatur atribut SQL_ATTR_TXN_ISOLATION. Untuk informasi selengkapnya, lihat Fungsi SQLSetConnectAttr.

Driver SQL-92 Entry level-conformant akan selalu mengembalikan SQL_TXN_SERIALIZABLE sebagaimana didukung. Driver yang sesuai dengan tingkat Transisi FIPS akan selalu mengembalikan semua opsi ini sebagaimana didukung.
SQL_UNION 2.0 Bitmask SQLUINTEGER menghitung dukungan untuk klausul UNION :
SQL_U_UNION = Sumber data mendukung klausul UNION .
SQL_U_UNION_ALL = Sumber data mendukung kata kunci ALL dalam klausa UNION . (SQLGetInfo mengembalikan SQL_U_UNION dan SQL_U_UNION_ALL dalam hal ini.)

Driver SQL-92 Entry level-conformant akan selalu mengembalikan kedua opsi ini sebagaimana didukung.
SQL_USER_NAME 1.0 String karakter dengan nama yang digunakan dalam database tertentu, yang bisa berbeda dari nama login.
SQL_XOPEN_CLI_YEAR 3.0 String karakter yang menunjukkan tahun publikasi spesifikasi Grup Terbuka yang mematuhi penuh versi ODBC Driver Manager.

Contoh

SQLGetInfo mengembalikan daftar opsi yang didukung sebagai bitmask SQLUINTEGER di *InfoValuePtr. Bitmask untuk setiap opsi digunakan bersama dengan bendera untuk menentukan apakah opsi didukung.

Misalnya, aplikasi dapat menggunakan kode berikut untuk menentukan apakah fungsi skalar SUBSTRING didukung oleh driver yang terkait dengan koneksi.

Untuk contoh lain menggunakan SQLGetInfo, lihat Fungsi 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  

Mengembalikan pengaturan atribut koneksi
Fungsi SQLGetConnectAttr

Menentukan apakah driver mendukung fungsi
Fungsi SQLGetFunctions

Mengembalikan pengaturan atribut pernyataan
Fungsi SQLGetStmtAttr

Mengembalikan informasi tentang jenis data sumber data
Fungsi SQLGetTypeInfo

Lihat juga

Referensi API ODBC
File Header ODBC