Php 如何在Drupal上定义指定模式的外部数据库
我想将Drupal连接到外部数据库,我需要指定模式,否则Drupal模式模块默认连接“public”模式。我尝试过,但没有成功,代码如下:Php 如何在Drupal上定义指定模式的外部数据库,php,drupal,drupal-7,settings,Php,Drupal,Drupal 7,Settings,我想将Drupal连接到外部数据库,我需要指定模式,否则Drupal模式模块默认连接“public”模式。我尝试过,但没有成功,代码如下: $databases['conservation']['default'] = array( 'database' => 'conservation', 'schema' => 'projects_test1', 'username' => 'xxxxxxxxxxx', 'password' =
$databases['conservation']['default'] = array(
'database' => 'conservation',
'schema' => 'projects_test1',
'username' => 'xxxxxxxxxxx',
'password' => 'xxx',
'host' => 'xxx.xxx.xxx',
'port' => '5432',
'driver' => 'pgsql',
'prefix' => array(
'default' => 'projects_test1.',
'users' => 'shared.',
'sessions' => 'shared.',
'role' => 'shared.',
'authmap' => 'shared.',
)
);
我做了一些谷歌搜索,但还没有发现有人尝试这样做。
谢谢
Luca您可以尝试以下代码将Drupal站点连接到外部数据库:
$databases['conservation']['default'] = array(
'database' => 'conservation',
'username' => 'xxxxxxxxxxx',
'password' => 'xxx',
'host' => 'xxx.xxx.xxx',
'port' => '5432',
'driver' => 'pgsql',
'prefix' => array(
'default' => 'projects_test1.',
'users' => 'shared.',
'sessions' => 'shared.',
'role' => 'shared.',
'authmap' => 'shared.',
)
);
上面的代码指定了Drupal的数据库配置。因此,当您需要在模块中查询其他数据库时,必须使用此函数切换到它的连接
<?php
db_set_active('your_other_db');
?>
完成后,您必须关闭它并恢复到默认数据库连接,以便Drupal能够访问其数据
<?php
db_set_active();
?>
我不想创建模块,但我只想使用“模式模块能够使用数据表模块可视化数据。啊!您可以尝试使用模式和数据表在drupal 7中创建外部数据可视化视图。希望有此帮助:)