Шрифт:
Атрибут таблицы
Поскольку удаленный доступ — интересное средство, уделим ему немного внимания. Вот пример сервера:
Это прямое применение интерфейса dRuby (см. главу 20). На стороне клиента следует при подключении к базе данных задать символ
Можно также выполнять обычные операции: обновлять и удалять записи, удалять таблицы и т.д. Есть и более сложные механизмы, о которых я не буду рассказывать подробно: связи один-ко-многим, вычисляемые поля и нестандартные классы записей. Подробнее см. документацию по KirbyBase на сайте RubyForge.
10.4. Подключение к внешним базам данных
Благодаря усилиям многих людей Ruby может взаимодействовать с разными базами данных, от монолитных систем типа Oracle до более скромного MySQL. Для полноты описания мы включили в него также текстовые файлы в формате CSV.
Уровень функциональности, реализованный в этих пакетах, постоянно изменяется. Обязательно познакомьтесь с последней версией документации в сети. Неплохой отправной точкой станет архив приложений Ruby.
10.4.1. Интерфейс с SQLite
SQLite — популярная база данных для тех, кто ценит программное обеспечение, которое не нужно конфигурировать. Это небольшая автономная исполняемая программа, написанная на языке С, которая хранит всю базу данных в одном файле. Хотя обычно она используется для небольших баз, но теоретически способна управиться с терабайтными объемами.
Привязка Ruby к SQLite довольно прямолинейна. API, написанный на С, обернут в класс
В большинстве ситуаций вам будет достаточно класса
Если блок не задан, то метод
Если получен объект
Методы библиотеки могут возбуждать различные исключения. Все они являются подклассами класса
Отметим еще, что библиотека написана так, что может работать совместно с библиотекой