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