понедельник, 6 декабря 2010 г.

Как сделать package в Embarcadero Rad Studio Delphi 2010

   Для создания нового package в Delphi  нам необходимо выполнить следующий набор действий:
  1. Запустить Delphi 
  2. В меню выбрать File->New->Package-Delphi (Рис. 1) (Или File->New->Other... откроется окно "New Items". В левой части необходимо выбрать Delphi Projects и в правой части Package и нажать кнопку "ОК", после чего будет создан новый "bpl пакет"(Рис. 2)). После чего автоматически генерируется новый проект с расширением *.bpl

Рис.1
Рис. 2

Ошибка Got a packet bigger than 'max_allowed_packet' bytes

   При попытке "поднять" архив База Данных увидел сообщение об ошибке: Got a packet bigger than 'max_allowed_packet' bytes
   База данных содержала таблицы в которых были blob поля. Вся проблема оказалась в параметре max_allowed_packet он был равен 1 Мб у меня на сервере, а blob поля которые были в запросе имели размер больше 1 Мб.
   Для просмотра значения max_allowed_packet я выполнил следующий запрос:
show variables like 'max_allowed_packet';
Результат мы получим в байтах (Рис.1).
 Рис. 1
   Для изменения я выполнил следующие действия (У меня Windows Vista и MySQL Server 5.1):
  1. Найти файл my.ini (Для Linux нужен файл my.cnf)(По умолчанию находится в каталоге, в который устанавливался сервер(у меня С:\Program Files\MySQL\MySQL Server 5.1\), или в папке Windows)
  2. Открыть его и изменить значение max_allowed_packet.Если у вас нет такой строчки - тогда найдите секцию [mysqld](у меня уже была создана и содержала значение порта port=3306) и допишите следующею строчку
  3. max_allowed_packet = 32M
    У вас может быть больше или меньше 32, мне было достаточно 32 Мб. Сохраняем файл my.ini
  4. Теперь нужно перезагрузить сервер MySQL для того чтобы все изменения вступили в силу (Для перезагрузки нужно выполнить следующие действия Пуск->Панель управления->Администрирование->Службы ищем в списке MySQL и нажимаем на нем правой кнопкой мыши, после чего появится меню в котором нужно выбрать Свойства(Рис.2). После чего откроется окно "Свойства" с помощью которого можно осуществить перезагрузку службы MySQL сервера. Для перезагрузки нужно нажать кнопку "Остановить"(пункт 1 Рис.3) после остановки сервера станет доступной кнопку "Запустить", теперь нужно нажать кнопку "Запустить"(пункт 2 Рис.3) Все сервер перезагружен, теперь нажимаем "ОК"(пункт 3 Рис.3)).
 Рис. 2
Рис. 3
   Теперь нам нужно проверить вступило ли все в силу или нет, для этог нам нужно выполнить запрос, который мы выполняли в начале:
show variables like 'max_allowed_packet';
  Результат запроса: 33554432байта что в свою очередь равно нашим 32Мб, которые мы установили в файле настроек.

PS: Статья была описана как заметка на будущее. Информация была частично с официального сайта MySQL.