Представления и внешняя база данных Oracle


Моя установка Drupal 6 установлена на сервере MySQL, в то время как моя собственная пользовательская база данных находится на Oracle. Я создал пользовательский модуль, который может считывать и записывать данные в мою внешнюю базу данных, но я хотел бы использовать модуль представлений для обработки отображаемых данных. Я знаю, что могу программно создавать представления, но я не знаю, смогу ли я создать представление для Oracle DB, пока Drupal работает на Mysql.

Author: kiamlaluno, 2012-06-09

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,
);
 1
Author: schnippy, 2017-12-03 18:36:19