Шрифт:
Как и другие общие интерфейсы доступа к данным, PHP использует модель "одна транзакция на одно соединение". При этом он не поддерживает множество транзакций. PHP следит за подтверждением незавершенных транзакций. Двухфазное подтверждение и события Firebird появились в PHP 5.
В Windows расширения php-interbase активизируются в файле PHP.ini после инсталляции. В Linux эти расширения должны создаваться из исходных кодов.
Доступны многие функции API, включая управление пользователями. Lutz Bruckner создал административный интерфейс (см., который предоставляет наиболее полные возможности доступа.
Некоторые абстрактные средства доступны на страницах Firebird, включая классы ADODB и более компактный вариант ezSQL . PEAR-DB является другим абстрактным средством, которое формирует часть проекта PHP. Доступен также широкий выбор редакторов PHP. См. http://www.php-editors.com/review.
IDE: Eclipse eclipse.org) и phpEclipse view_articles.php) предоставляют средства отладки и приятный набор инструментов редактирования. Eclipse выполняется как под Windows, так и под Linux, и включает встроенного клиента CVS, поддержку документации и возможность плагинов . Eclipse 3 был выпущен летом 2004 года.
Поддержка: разработчики Firebird PHP имеют небольшой, но активный список поддержки. Подпишитесь на http://www.yahoogroups.com/community/firebird-php.
* Для ADODB: http://phplens.com/lens/lensforum/topics.php?id=4.
* Для phpEclipse: http://www.phpeclipse.de/tiki-forums.php.
Ресурсы: лучшим началом работы с PHP является учебник (http:// www.php.net/docs.php). Сайтрекомендуется как источник огромного количества скриптов и классов, которые может использовать Firebird.
Python
KlnterbasDB является пакетом расширения Python, который реализует совместимую с Python Database API 2.0 поддержку Firebird. В дополнение к минимальному набору возможностей Python Database API KlnterbasDB предоставляет полный API клиента Firebird.
После релиза версии 3.1 была объявлена самая новая доступная версия. Пакет распространяется свободно под разрешающей лицензией в стиле BSD, которую должны принять коммерческие и некоммерческие пользователи.
Поддержка, загрузка, документация онлайн и другая информация на
http://kinterbasdb.sourceforge.net/.
Perl
DBI - это модуль интерфейса с базой данных для Perl. Он определяет набор методов, переменных и соглашений, которые предоставляют согласованный интерфейс с базой данных, зависящий от фактически используемой базы данных.
DBD::InterBase являются открытыми кодами драйвера DBD для Firebird и InterBase. Располагаются на SourceForge . Проект приглашает к участию разработчиков и пользователей.
Поддержка: присоединяйтесь к списку переписки на/mailman/listinfo/dbi-inter-base-devel.
Загрузка: отправляйтесь надля получения наиболее позднего стабильного релиза, посетитеза стабильным релизом и релизом разработки.
Приложение 4. Как выполнять ремонт базы данных
Вам придется потратить много сил для разрушения базы данных Firebird - система спроектирована так, чтобы выдержать тяжелые удары, которые ломают базы данных в других системах. Вы узнаете о том, что база данных разрушена, если вы не сможете с ней соединиться, не сможете выполнить ее резервное копирование или когда сообщение в протоколе firebird или от gbak -b сообщает вам, что существуют нарушения в базе, или появляются сообщения об ошибке контрольной суммы.
Если вы хотите понять, как могут появиться нарушения в вашей базе данных, вернитесь к разд. "Как разрушить базу данных Firebird" в конце главы 15 [166]
Восемь шагов восстановления
В этом приложении описаны шаги, которые вам нужно выполнить при использовании инструментов командной строки gfix или gbak, чтобы попытаться восстановить неповрежденные данные при некоторых видах разрушения. Однако имейте в виду, что существуют отдельные виды разрушения сервера, которые такая процедура не может исправить. См. в приложении 12 ресурсы, доступные для использования в этих случаях.
166
Во время написания этой книги автор услышала о первом случае нового способа разрушения баз данных. Жертва проигнорировала все советы и разместила базу данных в каталоге NFS. После этого продолжалось соединение клиентов с базой данных клиентов через два Классических сервера Firebird 1.5 с различных машин, ни одна из которых не была владельцем жесткого диска, на котором находилась база данных. В результате база данных была разру-
Для применения gfix и gbak в этой процедуре сделайте текущим каталог Firebird /bin на серверной машине.
Получение исключительного доступа
Первым делом, что нужно выполнить, когда появилось сообщение о разрушении, - это отключить всех пользователей от системы. Не позволяйте никому пытаться продолжить работу. Продолжение попыток использования базы данных может сделать восстанавливаемую базу данных невосстанавливаемой.
Проверка базы данных требует исключительного доступа к базе данных, иначе вы увидите следующее сообщение при попытке запустить gfix: