Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Drupal上定义指定模式的外部数据库_Php_Drupal_Drupal 7_Settings - Fatal编程技术网

Php 如何在Drupal上定义指定模式的外部数据库

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' =

我想将Drupal连接到外部数据库,我需要指定模式,否则Drupal模式模块默认连接“public”模式。我尝试过,但没有成功,代码如下:

 $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中创建外部数据可视化视图。希望有此帮助:)