Представления и внешняя база данных Oracle
Моя установка Drupal 6 установлена на сервере MySQL, в то время как моя собственная пользовательская база данных находится на Oracle. Я создал пользовательский модуль, который может считывать и записывать данные в мою внешнюю базу данных, но я хотел бы использовать модуль представлений для обработки отображаемых данных. Я знаю, что могу программно создавать представления, но я не знаю, смогу ли я создать представление для Oracle DB, пока Drupal работает на Mysql.
1 answers
Вы можете создать представление таблицы/базы данных, отличной от drupal, но сначала вам нужно создать к ней подключение с помощью одного из двух модулей соединителя: модуля Данных или модуля Мастера таблиц.
Вы также можете настроить его с помощью API представлений с помощью views_hook_data()
. (См. Документацию по views/help/api-tables.html.)
Вам нужно будет добавить новые настройки подключения к базе данных в файл настроек.
// In settings.php for your site
// Your drupal (site) database needs to be called 'default'
$db_url['default'] = 'mysqli://user:pass@host/drupal_db';
$db_url['oracle_db'] = 'mysqli://user:pass@host/other_db';
Затем, по вашему мнению, определите таблицы, к которым должно быть доступно представление.
$data[$table]['table']['base'] = array(
'field' => 'Primary key',
'title' => t('Field name'),
'help' => t('Field description'),
'database' => 'oracle_db',
'weight' => -10,
);