Справочное руководство по MySQL версии 4.0.11-gamma

         

1.11.1.1 Как конвертировать инструментальные средства mSQL в MySQL


1.11.1.1 Как конвертировать инструментальные средства mSQL в MySQL

Согласно нашему опыту, переделать такие инструментальные программы, как msql-tcl и msqljava, созданные на основе C API mSQL для работы с C API MySQL, несложно.

Сделать это можно так:

  1. Пропустите исходный файл через сценарий оболочки msql2mysql. Для этого

    необходима программа replace, распространяющаяся вместе с MySQL Server.
  2. Откомпилируйте.
  3. Исправьте все найденные компилятором ошибки.

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