XPDO и СУБД FireBird


Здравствуйте Василий у все посетители сайта!
Недавно изучаю MODX Revo и xPDO по вашим статьям и примерам, спасибо за них большое. Тренируюсь в работе с xPDO, все что касается примеров с MySQL — все получается и, вроде, понятно.

Я хотел бы решить следующую задачу: Необходимо из-под MODX выполнять запросы к базе данных под управлением Firebird и результаты показывать на сайте.

Тут я узнал, что Firebird входит в число поддерживаемых PDO, также понял, что xPDO является расширением PDO.

Иду шагами, аналогично этой статье:
Вот содержимое файла DBConnection_fb.php (в папке /core)
<?php 
include("xpdo/xpdo.class.php");
$xpdo= new xPDO('firebird:host=localhost;dbname=z:\ASUP_TKB.FDB',"sysdba","masterkey"); 
?>
Затем, создаю файл DBGenerator_fb.php
<?php
include("dbConnection_fb.php");
$manager= $xpdo->getManager();
$generator= $manager->getGenerator();
$xml= $generator->writeSchema('model/ASUP_TKB.fb.schema.xml', 'ASUP_TKB', 'xPDOObject', '');
?>
При попытке выполнить это, получаю ошибку
Warning: include_once(Z:/home/www/core/xpdo/om/firebird/xpdodriver.class.php) [function.include-once]: failed to open stream: No such file or directory in Z:\home\www\core\xpdo\xpdo.class.php on line 1820
Warning: include_once() [function.include]: Failed opening 'Z:/home/www/core/xpdo/om/firebird/xpdodriver.class.php' for inclusion (include_path='.;C:\php\pear') in Z:\home\www\core\xpdo\xpdo.class.php on line 1820
Warning: include_once(Z:/home/www/core/xpdo/om/firebird/xpdomanager.class.php) [function.include-once]: failed to open stream: No such file or directory in Z:\home\www\core\xpdo\xpdo.class.php on line 1798
Warning: include_once() [function.include]: Failed opening 'Z:/home/www/core/xpdo/om/firebird/xpdomanager.class.php' for inclusion (include_path='.;C:\php\pear') in Z:\home\www\core\xpdo\xpdo.class.php on line 1798
Fatal error: Call to a member function getGenerator() on a non-object in Z:\home\www\core\dbGenerator_fb.php on line 4

Иду разбираться в файл xpdo.class.php и там вижу, что программа пытается найти файл /core/xpdo/om/firebird/xpdodriver.class.php — то есть в папке om необходим драйвер для Firebird, которого нет. У меня там только драйвера для MySQL, SQLite и SQLSrv

Таким образом, мой вопрос заключается в следующем: Где найти драйвер xPDO для Firebird или как еще можно наладить связь с базой Firebird?

Буду очень признателен за помощь.
С уважением, Андрей.
16 октября 2012, 12:34    Андрей, Омск   G+  
0    1488 0

Комментарии (3)

  1. Василий Наумкин 16 октября 2012, 12:48 # 0
    Я не работал с Firebird, не знаю, насколько оно совместимо с xPDO.
    Драйверов для нее тоже не нашел — modx.com/search-temp/?query=xpdo%20firebird.

    В общем, либо писать самостоятельно, по образцу Mysql, либо использовать поддерживаемую БД.
    1. Андрей, Омск 16 октября 2012, 12:58 # 0
      Василий, а как устроены драйверы для разных СУБД в xPDO? Насколько сложная задача — написать самому требуемый драйвер? И где можно взять пример?
      1. Василий Наумкин 16 октября 2012, 13:02 # 0
        https://github.com/modxcms/revolution/tree/develop/core/xpdo/om
    Вы должны авторизоваться, чтобы оставлять комментарии.