RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Глава 7. Ссылки по Connector/ODBC

Эта глава обеспечивает справочный материал для API Connector/ODBC, показывая поддержанные функции и методы, поддерживаемые типы столбца MySQL и соответствующий родной тип в Connector/ODBC и коды ошибок, возвращенные Connector/ODBC, когда ошибка происходит.

7.1. Connector/ODBC API

Этот раздел суммирует установленный порядок ODBC, категоризированный функциональностью.

Для полной справки по API ODBC, пожалуйста, обратитесь к ODBC Programmer's Reference на http://msdn.microsoft.com/en-us/library/ms714177.aspx.

Приложение может вызвать функцию SQLGetInfo, чтобы получить информацию о соответствии Connector/ODBC. Чтобы получить информацию о поддержке определенной функции в драйвере, надо вызвать функцию SQLGetFunctions.

Для обратной совместимости Connector/ODBC поддерживает все устаревшие функции.

Следующие таблицы приводят вызовы API Connector/ODBC, сгруппированные задачей:

Таблица 7.1. Вызовы ODBC API для соединения с источником данных

Имя Поддержка Connector/ODBC? Стандарт Цель
SQLAllocHandle ДаISO 92 Получает окружающую среду, связь, запрос или дескриптор.
SQLConnect ДаISO 92 Соединяется с драйвером, определенным именем источника данных, идентификатором пользователя и паролем.
SQLDriverConnect ДаODBC Соединяется с драйвером, определенным строкой подключения или просит, чтобы менеджер драйверов и драйвер показали диалоговые окна связи для пользователя.
SQLAllocEnv ДаУстаревшая Получает дескриптор окружающей среды из драйвера.
SQLAllocConnect ДаУстаревшая Получает дескриптор соединения.

Таблица 7.2. Вызовы ODBC API для получения информации о драйвере и источнике данных

Имя Поддержка Connector/ODBC Стандарт Цель
SQLDataSources НетISO 92 Возвращает список доступных источников данных, обработанных менеджером драйверов.
SQLDrivers НетODBC Возвращает список установленных драйверов и их признаков, обработанных менеджером драйверов.
SQLGetInfo ДаISO 92 Информация об определенном драйвере и источнике данных.
SQLGetFunctions ДаISO 92 Информация о поддерживаемых функциях драйвера.
SQLGetTypeInfo ДаISO 92 Информация о поддерживаемых типах данных.

Таблица 7.3. Вызовы ODBC API для работы с атрибутами драйвера

Имя Поддержка Connector/ODBC Стандарт Цель
SQLSetConnectAttr ДаISO 92 Устанавливает атрибуты соединения.
SQLGetConnectAttr ДаISO 92 Возвращает значение атрибута соединения.
SQLSetConnectOption ДаУстаревшая Устанавливает атрибуты соединения.
SQLGetConnectOption ДаУстаревшая Возвращает значение атрибута соединения.
SQLSetEnvAttr ДаISO 92 Устанавливает атрибуты окружения.
SQLGetEnvAttr ДаISO 92 Возвращает значение атрибута окружения.
SQLSetStmtAttr ДаISO 92 Устанавливает атрибуты запроса.
SQLGetStmtAttr ДаISO 92 Возвращает значение атрибута запроса.
SQLSetStmtOption ДаУстаревшая Устанавливает атрибуты запроса.
SQLGetStmtOption ДаУстаревшая Возвращает значение атрибута запроса.

Таблица 7.4. Вызовы ODBC API для подготовки запросов SQL

Имя Поддержка Connector/ODBC Стандарт Цель
SQLAllocStmt ДаУстаревшая Размещает обработчик запроса.
SQLPrepare ДаISO 92 Готовит SQL-оператор к более позднему выполнению.
SQLBindParameter ДаODBC Назначает хранение для параметра в SQL-операторе. Connector/ODBC 5.2 добавляет поддержку параметров out и inout через спецификаторы типа SQL_PARAM_OUTPUT и SQL_PARAM_INPUT_OUTPUT. Параметры Out и inout не поддерживаются для столбцов LONGTEXT и LONGBLOB.
SQLGetCursorName ДаISO 92 Возвращает имя курсора, связанное с обработчиком запроса.
SQLSetCursorName ДаISO 92 Определяет имя курсора.
SQLSetScrollOptions ДаODBC Устанавливает поведение курсора.

Таблица 7.5. Вызовы ODBC API для подачи запросов

Имя Поддержка Connector/ODBC Стандарт Цель
SQLExecute ДаISO 92 Выполняет подготовленный запрос.
SQLExecDirect ДаISO 92Выполняет запрос.
SQLNativeSql ДаODBC Возвращает текст SQL-оператора, как переведено драйвером
SQLDescribeParam НетODBC Возвращает описание для определенного параметра в запросе. Не поддержан Connector/ODBC: возвращенным результатам нельзя доверять.
SQLNumParams ДаISO 92 Возвращает количество параметров в запросе.
SQLParamData ДаISO 92 Используется вместе с SQLPutData, чтобы снабжать данными параметра во время выполнения. Полезно для больших значений данных.
SQLPutData ДаISO 92 Посылает часть или все значение данных для параметра. Полезно для больших значений данных.

Таблица 7.6. Вызовы ODBC API для получения результатов и информации о результатах

Имя Поддержка Connector/ODBC Стандарт Цель
SQLRowCount ДаISO 92 Возвращает количество строк, затронутых вставкой, обновлением или удалением.
SQLNumResultCols ДаISO 92 Возвращает количество столбцов в наборе результатов.
SQLDescribeCol ДаISO 92 Описывает столбец в наборе результатов.
SQLColAttribute ДаISO 92 Описывает признаки столбца в наборе результатов.
SQLColAttributes ДаУстаревшая Описывает признаки столбца в наборе результатов.
SQLFetch ДаISO 92 Возвращает многократные строки результата.
SQLFetchScroll ДаISO 92 Возвращает прокручиваемые строки результата.
SQLExtendedFetch ДаУстаревшая Возвращает прокручиваемые строки результата.
SQLSetPos ДаODBC Помещает курсор в блоке данных и позволяет запросу освежить данные в наборе строк или обновить (или удалить) данные в наборе результатов.
SQLBulkOperations ДаODBC Выполняет оптовые вставки и оптовые операции по закладке, включая обновление, удаление и получение по закладке.

Таблица 7.7. Вызовы ODBC API для получения ошибки или диагностической информации

Имя Поддержка Connector/ODBC Стандарт Цель
SQLError ДаУстаревшая Возвращает дополнительную ошибку или информацию о статусе.
SQLGetDiagField ДаISO 92 Возвращает дополнительную диагностическую информацию (единственная область диагностической структуры данных).
SQLGetDiagRec ДаISO 92 Возвращает дополнительную диагностическую информацию (многократные области диагностической структуры данных).

Таблица 7.8. Вызовы ODBC API для получения информации о системных таблицах источника данных (функции каталога)

Имя Поддержка Connector/ODBC Стандарт Цель
SQLColumnPrivileges ДаODBC Возвращает список столбцов и связанных привилегий для одной или более таблиц.
SQLColumns ДаX/Open Возвращает список имен столбцов в указанных таблицах.
SQLForeignKeys ДаODBC Возвращает список имен столбцов, которые составляют внешние ключи, если они существуют для указанной таблицы.
SQLPrimaryKeys ДаODBC Возвращает список имен столбцов, которые составляют первичный ключ для таблицы.
SQLSpecialColumns ДаX/Open Информация об оптимальном наборе столбцов, который однозначно определяет строку в указанной таблице или столбцах, которые автоматически обновляются, когда любое значение в строке обновляется транзакцией.
SQLStatistics ДаISO 92 Статистика о единственной таблице и списке индексов, связанных с ней.
SQLTablePrivileges ДаODBC Возвращает список таблиц и привилегий, связанных с каждой таблицей.
SQLTables ДаX/Open Возвращает список имен таблиц, сохраненных в определенном источнике данных.

Таблица 7.9. Вызовы ODBC API для выполнения транзакций

Имя Поддержка Connector/ODBC Стандарт Цель
SQLTransact ДаУстаревшая Передает или откатывает транзакцию.
SQLEndTran ДаISO 92 Передает или отменяет транзакцию.

Таблица 7.10. Вызовы ODBC API для завершения запроса

Имя Поддержка Connector/ODBC Стандарт Цель
SQLFreeStmt ДаISO 92 Завершает обработку запроса, сбрасывает ожидающие результаты и, произвольно, освобождает все ресурсы, связанные с дескриптором запроса.
SQLCloseCursor ДаISO 92 Закрывает курсор, который был открыт обработчиком запроса.
SQLCancel ДаISO 92 Отменяет SQL-оператор.

Таблица 7.11. Вызовы ODBC API для завершения связи

Имя Поддержка Connector/ODBC Стандарт Цель
SQLDisconnect ДаISO 92 Закрывает связь.
SQLFreeHandle ДаISO 92 Освобождает окружающую среду, связь, запрос или дескриптор.
SQLFreeConnect ДаУстаревшая Освобождает обработчик соединения.
SQLFreeEnv ДаУстаревшая Освобождает обработчик окружения.

7.2. Типы данных в Connector/ODBC

Следующая таблица иллюстрирует, как Connector/ODBC отображает типы данных сервера для типов данных SQL и C.

Таблица 7.12. Отображение типов данных MySQL в SQL и C

Исходное значение Тип в SQL Тип в C
bigint unsigned SQL_BIGINT SQL_C_UBIGINT
bigint SQL_BIGINT SQL_C_SBIGINT
bit SQL_BIT SQL_C_BIT
bit SQL_CHAR SQL_C_CHAR
blob SQL_LONGVARBINARY SQL_C_BINARY
bool SQL_CHAR SQL_C_CHAR
char SQL_CHAR SQL_C_CHAR
date SQL_DATE SQL_C_DATE
datetime SQL_TIMESTAMP SQL_C_TIMESTAMP
decimal SQL_DECIMAL SQL_C_CHAR
double precision SQL_DOUBLE SQL_C_DOUBLE
double SQL_FLOAT SQL_C_DOUBLE
enum SQL_VARCHAR SQL_C_CHAR
float SQL_REAL SQL_C_FLOAT
int unsigned SQL_INTEGER SQL_C_ULONG
int SQL_INTEGER SQL_C_SLONG
integer unsigned SQL_INTEGER SQL_C_ULONG
integer SQL_INTEGER SQL_C_SLONG
long varbinary SQL_LONGVARBINARY SQL_C_BINARY
long varchar SQL_LONGVARCHAR SQL_C_CHAR
longblob SQL_LONGVARBINARY SQL_C_BINARY
longtext SQL_LONGVARCHAR SQL_C_CHAR
mediumblob SQL_LONGVARBINARY SQL_C_BINARY
mediumint unsigned SQL_INTEGER SQL_C_ULONG
mediumint SQL_INTEGER SQL_C_SLONG
mediumtext SQL_LONGVARCHAR SQL_C_CHAR
numeric SQL_NUMERIC SQL_C_CHAR
real SQL_FLOAT SQL_C_DOUBLE
set SQL_VARCHAR SQL_C_CHAR
smallint unsigned SQL_SMALLINT SQL_C_USHORT
smallint SQL_SMALLINT SQL_C_SSHORT
text SQL_LONGVARCHAR SQL_C_CHAR
time SQL_TIME SQL_C_TIME
timestamp SQL_TIMESTAMP SQL_C_TIMESTAMP
tinyblob SQL_LONGVARBINARY SQL_C_BINARY
tinyint unsigned SQL_TINYINT SQL_C_UTINYINT
tinyint SQL_TINYINT SQL_C_STINYINT
tinytext SQL_LONGVARCHAR SQL_C_CHAR
varchar SQL_VARCHAR SQL_C_CHAR
year SQL_SMALLINT SQL_C_SHORT

7.3. Коды ошибок Connector/ODBC

Следующие таблицы приводят коды ошибок, возвращенные Connector/ODBC, кроме ошибок сервера.

Таблица 7.13. Специальные коды ошибок, возвращенные Connector/ODBC

Исходный код SQLSTATE 2SQLSTATE 3 Сообщение об ошибке
5000100001000 Общее предупреждение.
5010100401004 Строка обрезана справа.
50201S0201S02 Значение опции меняется.
50301S0301S03 Нет строк для обновления/удаления.
50401S0401S04 Больше одной строки для обновления/удаления.
50501S0601S06 Попытка получения прежде чем набор результатов возвратил первый набор строк.
5060700107002 SQLBindParameter не используемый для всех параметров.
5070700507005 Подготовленный запрос не спецификация курсора.
5080700907009 Недействительный дескрипторный индекс.
5090800208002 Имя подключения занято.
5100800308003 Связь не существует.
5112400024000 Недействительный статус курсора.
5122500025000 Недействительный статус транзакции.
51325S0125S01 Неизвестный статус транзакции.
5143400034000 Недействительное имя курсора.
515S1000HY000 Общая ошибка драйвера.
516S1001HY001 Ошибка распределения памяти.
517S1002HY002 Недействительный номер столбца.
518S1003HY003 Недействительный тип буфера приложений.
519S1004HY004 Недействительный тип данных SQL.
520S1009HY009 Недействительное использование нулевого указателя.
521S1010HY010 Ошибка последовательности функции.
522S1011HY011 Признак не может быть установлен сейчас.
523S1012HY012 Недействительный операционный код транзакции.
524S1013HY013 Ошибка управления памятью./td>
525S1015HY015 Нет доступного имени курсора.
526S1024HY024 Недействительное значение атрибута.
527S1090HY090 Недействительная последовательность или длина буфера.
528S1091HY091 Недействительный дескрипторный идентификатор области.
529S1092HY092 Недействительный идентификатор признака/опции.
530S1093HY093 Неправильное число параметров.
531S1095HY095 Тип функции вне диапазона.
532S1106HY106 Тип возврата вне диапазона.
533S1117HY117 Значение строки вне диапазона.
534S1109HY109 Недействительная позиция курсора.
535S1C00HYC00 Дополнительная опция, не реализованная.
021S0121S01 Количество столбцов не соответствует количеству значений.
02300023000 Нарушение ограничения целостности.
04200042000 Синтаксическая ошибка или нарушение прав доступа.
042S0242S02 Базовая таблица или представление не найдено.
042S1242S12 Индекс не найден.
042S2142S21 Столбец уже существует.
042S2242S22 Столбец не найден.
008S0108S01 Ошибка линии связи.

Поиск

 

Найди своих коллег!

Вы можете направить письмо администратору этой странички, Алексею Паутову. mailto:alexey.v.pautov@mail.ru