1.11.1.1 Как конвертировать инструментальные средства mSQL в MySQL
1.11.1.1 Как конвертировать инструментальные средства mSQL в MySQL
Согласно нашему опыту, переделать такие инструментальные программы, как msql-tcl и msqljava, созданные на основе C API mSQL для работы с C API MySQL, несложно.
Сделать это можно так:
-
Пропустите исходный файл через сценарий оболочки msql2mysql. Для этого
необходима программа replace, распространяющаяся вместе с MySQL Server. - Откомпилируйте.
- Исправьте все найденные компилятором ошибки.
Различия между реализациями C API в mSQL и MySQL заключаются в следующем:
- В качестве типа в MySQL используется структура MYSQL (в mSQL в этом качестве применяется int).
- Оператор mysql_connect() принимает в качестве параметра указатель на структуру MYSQL. Такую структуру можно легко объявить как глобальную или создать ее с помощью malloc(). Кроме того, mysql_connect() принимает еще два параметра, в которых указываются имя пользователя и его пароль. Для использования данной структуры по умолчанию этим параметрам нужно присвоить значения NULL, NULL.
- mysql_error() принимает в качестве параметра структуру MYSQL. При переносе старого кода достаточно добавить параметр в вызов msql_error().
- Для всех ошибок MySQL возвращает номер ошибки и текстовое сообщение. mSQL же возвращает только текстовое сообщение об ошибке.
- Существует некоторая несовместимость, обусловленная тем, что в MySQL Server можно создавать несколько соединений с сервером из одного и того же процесса.