Включение внешних источников данных
Выбор базы данных
При использовании метода SQL атрибут src тега <indude> определяет базу данных, с которой выполняется операция. Если атрибут не указан, LXP пытается восстановить устойчивое подключение к базе данных (если оно существует).
Примечание
Хотя для каждого процесса Apache httpd существует одно устойчивое подключение к базе данных, на самом деле за его поддержанием следит модуль LXP, а не Apache.
Формат строки подключения хорошо знаком всем, кому доводилось подключаться к PostgreSQL из программ С или РНР. Строка содержит несколько параметров, описывающих источник данных. Параметры подключения перечислены в табл. 13.2.
Таблица 13.2. Параметры подключения к базе данных.
Параметр | Описание |
---|---|
dbname | Имя базы данных (по умолчанию совпадает с именем подключающегося пользователя) |
host | Имя хоста |
user | Имя пользователя (по умолчанию совпадает с именем, под которым работает Apache) |
password | Пароль (если аутентификация обязательна) |
port | Порт (по умолчанию 5432) |
В значении атрибута src параметры разделяются пробелами, а имя параметра отделяется от его значения знаком равенства (=). Порядок перечисления параметров не важен.
В листинге 13.27 приведен пример запроса SQL с подключением к базе данных example на сервере db_server под именем пользователя John.
Листинг 13.27. Подключение к базе данных.
<lхр> <include sql-"SELECT * FROM users ORDER BY username ASC" src="dbname=example host=db_server user=john"> User: <field /><br /> </include> </lxp>
Внимание
В LXP 0.8 при вложении подключения SQL в другое подключение SQL во вложенном теге обязательно определяется атрибут src, даже если подключение производится к базе данных по умолчанию. В LXP 0.8.1 этот недостаток исправлен.