Поделиться через


Приложения и драйверы, совместимые со стандартами

Приложение или драйвер, совместимое со стандартами, соответствует спецификации Open Group CAE "Управление данными: интерфейс SQL Call-Level (CLI)" и ISO/IEC 9075-3:1995 (E) интерфейс Call-Level (SQL/CLI).

ODBC 3.x гарантирует следующие возможности:

  • Приложение, написанное в спецификации Open Group и ISO CLI, будет работать с драйвером ODBC 3.x или драйвером, совместимым со стандартами, при компиляции с файлами заголовков ODBC 3.x и связанными с библиотеками ODBC 3.x , а также при получении доступа к драйверу через диспетчер драйверов ODBC 3.x .

  • Драйвер, написанный в спецификации Open Group и ISO CLI, будет работать с приложением ODBC 3.x или приложением, соответствующим стандартам, при компиляции с файлами заголовков ODBC 3.x и связанными с библиотеками ODBC 3.x и когда приложение получает доступ к драйверу через диспетчер драйверов ODBC 3.x .

Приложения и драйверы, совместимые со стандартами, компилируются с помощью флага компиляции ODBC_STD.

Приложения, совместимые со стандартами, демонстрируют следующее поведение:

  • Если приложение, соответствующее стандартам, вызывает SQLAllocEnv (которое может произойти, так как SQLAllocEnv является допустимой функцией в open Group и ISO CLI), вызов сопоставляется с SQLAllocHandleStd во время компиляции. В результате во время выполнения приложение вызывает SQLAllocHandleStd. При обработке этого вызова диспетчер драйверов задает атрибут среды SQL_ATTR_ODBC_VERSION для SQL_OV_ODBC3. Вызов SQLAllocHandleStd эквивалентен вызову SQLAllocHandle с типом HandleType SQL_HANDLE_ENV и вызову SQLSetEnvAttr, чтобы установить SQL_ATTR_ODBC_VERSION на значение SQL_OV_ODBC3.

  • Если приложение, соответствующее стандартам, вызывает SQLBindParam (которое может произойти, так как SQLBindParam является допустимой функцией в Open Group и ISO CLI), диспетчер драйверов ODBC 3.x сопоставляет вызов эквивалентного вызова в SQLBindParameter. (См. Сопоставление SQLBindParam в приложении G: рекомендации по драйверам для обратной совместимости.)

  • Чтобы выровнять интерфейс командной строки ISO, файлы заголовков ODBC 3.x содержат псевдонимы для типов информации, используемых в вызовах SQLGetInfo. Приложение, соответствующее стандартам, может использовать эти псевдонимы вместо типов сведений ODBC 3.x . Дополнительные сведения см. в следующем разделе: "Файлы заголовков".

  • Приложение, совместимое со стандартами, должно убедиться, что все поддерживаемые функции поддерживаются в драйвере, с которым он будет работать. Установка атрибута инструкции SQL_ATTR_CURSOR_SCROLLABLE на SQL_SCROLLABLE и установка атрибута инструкции SQL_ATTR_CURSOR_SENSITIVITY для SQL_INSENSITIVE или SQL_SENSITIVE являются возможностями, которые доступны как необязательные функции в стандартах, но не включены в уровень ODBC 3.x Core и поэтому могут не поддерживаться всеми драйверами ODBC 3.x . Если приложение, соответствующее стандартам совместимости, использует эти возможности, оно должно убедиться, что драйвер, с которым оно будет работать, их поддерживает.