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 можно создавать несколько соединений с сервером из одного и того же
процесса.