Поддержка SQLGetInfo
Когда ODBC 2.Приложение x вызывает SQLGetInfo к драйверу ODBC 3*.x*, аргументы InfoType в следующей таблице должны поддерживаться.
InfoType | Возвраты |
---|---|
SQL_ALTER_TABLE (ODBC 2.0) Примечание. Этот тип информации не рекомендуется; битовые маски в столбце справа не рекомендуется. | Битовая маска SQLINTEGER, перечисляющая предложения в инструкции ALTER TABLE , поддерживаемой источником данных. Для определения поддерживаемых предложений используются следующие битовые маски: SQL_AT_DROP_COLUMN = поддерживается возможность удаления столбцов. Определяется ли это каскадным или ограничением поведения. (ODBC 2.0) SQL_AT_ADD_COLUMN = поддерживается возможность добавления нескольких столбцов в одну инструкцию ALTER TABLE. Этот бит не сочетается с другими SQL_AT_ADD_COLUMN_XXX битами или SQL_AT_CONSTRAINT_XXX битами. (ODBC 2.0) |
SQL_FETCH_DIRECTION (ODBC 1.0) Тип информации появился в ODBC 1.0; каждая битовая маска помечена версией, в которой она была введена. |
Битовая маска SQLINTEGER, перечисляющая поддерживаемые параметры направления получения. Следующие битовые маски используются в сочетании с флагом для определения поддерживаемых параметров: SQL_FD_FETCH_NEXT (ODBC 1.0) SQL_FD_FETCH_FIRST (ODBC 1.0) SQL_FD_FETCH_LAST (ODBC 1.0) SQL_FD_FETCH_PRIOR (ODBC 1.0) SQL_FD_FETCH_ABSOLUTE (ODBC 1.0) SQL_FD_FETCH_RELATIVE (ODBC 1.0) SQL_FD_FETCH_BOOKMARK (ODBC 2.0) |
SQL_LOCK_TYPES (ODBC 2.0) | Битовая маска SQLINTEGER, перечисляющая поддерживаемые типы блокировки для аргумента fLock в SQLSetPos. Следующие битовые маски используются в сочетании с флагом, чтобы определить, какие типы блокировки поддерживаются: SQL_LCK_NO_CHANGE SQL_LCK_EXCLUSIVE SQL_LCK_UNLOCK |
SQL_ODBC_API_CONFORMANCE (ODBC 1.0) | Значение SQLSMALLINT, указывающее уровень соответствия ODBC. SQL_OAC_NONE = Нет SQL_OAC_LEVEL1 = поддерживаемый уровень 1 SQL_OAC_LEVEL2 = поддерживаемый уровень 2 |
SQL_ODBC_SQL_CONFORMANCE (ODBC 1.0) | Значение SQLSMALLINT, указывающее грамматику SQL, поддерживаемую драйвером. См . приложение C. Грамматика SQL для определения уровней соответствия SQL. SQL_OSC_MINIMUM = минимальная грамматика поддерживается SQL_OSC_CORE = поддержка основной грамматики SQL_OSC_EXTENDED = расширенная грамматика поддерживается |
SQL_POS_OPERATIONS (ODBC 2.0) | Битовая маска SQLINTEGER, перечисляющая поддерживаемые операции в SQLSetPos. Следующие битовые маски используются в сочетании с флагом для определения поддерживаемых параметров: SQL_POS_POSITION (ODBC 2.0) SQL_POS_REFRESH (ODBC 2.0) SQL_POS_UPDATE (ODBC 2.0) SQL_POS_DELETE (ODBC 2.0) SQL_POS_ADD (ODBC 2.0) |
SQL_POSITIONED_STATEMENTS (ODBC 2.0) | Битовая маска SQLINTEGER, перечисление поддерживаемых позиционированных инструкций SQL. Для определения поддерживаемых операторов используются следующие битовые маски: SQL_PS_POSITIONED_DELETE SQL_PS_POSITIONED_UPDATE SQL_PS_SELECT_FOR_UPDATE |
SQL_SCROLL_CONCURRENCY (ODBC 1.0) | Битовая маска SQLINTEGER, перечисляющая параметры управления параллелизмом, поддерживаемые для курсора. Для определения поддерживаемых параметров используются следующие битовые маски: SQL_SCCO_READ_ONLY = курсор доступен только для чтения. Никаких обновлений не разрешено. SQL_SCCO_LOCK = Курсор использует самый низкий уровень блокировки, чтобы убедиться, что строка может быть обновлена. SQL_SCCO_OPT_ROWVER = Cursor использует управление оптимистическим параллелизмом, сравнивая версии строк, такие как SQLBase ROWID или Sybase TIMESTAMP. SQL_SCCO_OPT_VALUES = Cursor использует элемент управления оптимистичным параллелизмом, сравнивая значения. |
SQL_STATIC_SENSITIVITY (ODBC 2.0) | Битовая маска SQLINTEGER, перечисляющая, могут ли изменения, внесенные приложением, на статический или управляемый набором ключей курсор через SQLSetPos или операторы обновления или удаления, обнаруживаться этим приложением. SQL_SS_ADDITIONS = добавленные строки видны курсору; Курсор может прокручивать эти строки. Где эти строки добавляются к курсору, зависят от драйвера. SQL_SS_DELETIONS = удаленные строки больше не доступны курсору и не оставляйте "отверстие" в результирующем наборе; После прокрутки курсора из удаленной строки он не может вернуться к этой строке. SQL_SS_UPDATES = обновления строк видны курсору; Если курсор прокручивается и возвращается к обновленной строке, данные, возвращаемые курсором, являются обновленными данными, а не исходными данными. Этот параметр применяется только к статическим курсорам или обновлениям на курсорах, управляемых набором ключей, которые не обновляют ключ. Этот параметр не применяется для динамического курсора или в случае изменения ключа в смешанном курсоре. Может ли приложение обнаруживать изменения, внесенные в результирующий набор другими пользователями, включая другие курсоры в том же приложении, зависит от типа курсора. |
Приложение ODBC 3*.x*, работающее с драйвером ODBC 3*.x*, не должно вызывать SQLGetInfo с аргументами InfoType, описанными в предыдущей таблице, но должно использовать аргументы INFOType ODBC 3*.x** InfoType, перечисленные в следующем абзаце. Между аргументами InfoType, используемыми в ODBC 2, нет никакой связи.x и те, которые используются в ODBC 3*.x*. Приложение ODBC 3*.x*, работающее с ODBC 2.С другой стороны, драйвер x должен использовать аргументы InfoType , описанные ранее.
Некоторые типы сведений в предыдущей таблице устарели в пользу типов сведений о атрибутах курсора. Эти устаревшие типы информации: SQL_FETCH_DIRECTION, SQL_LOCK_TYPES, SQL_POS_OPERATIONS, SQL_POSITIONED_STATEMENTS, SQL_SCROLL_CONCURRENCY и SQL_STATIC_SENSITIVITY. Новые типы атрибутов курсора SQL_XXX_CURSOR_ATTRIBUTES1and SQL_XXX_CURSOR_ATTRIBUTES2, где XXX равно DYNAMIC, FORWARD_ONLY, KEYSET_DRIVEN или STATIC. Каждый из новых типов указывает возможности драйвера для одного типа курсора. Дополнительные сведения об этих параметрах см. в описании функции SQLGetInfo .