Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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
Mysql 如何在drupal 7数据模块的视图中采用另一个数据库中的孤立表?_Mysql_Drupal_Drupal 7_Drupal Modules_Drupal Views - Fatal编程技术网

Mysql 如何在drupal 7数据模块的视图中采用另一个数据库中的孤立表?

Mysql 如何在drupal 7数据模块的视图中采用另一个数据库中的孤立表?,mysql,drupal,drupal-7,drupal-modules,drupal-views,Mysql,Drupal,Drupal 7,Drupal Modules,Drupal Views,我正试图从另一个名为“academy”的数据库中的自定义表构建一个视图。我的Drupal安装使用数据库“Drupal”。我已经用以下内容更新了Drupal的settings.php文件: $databases = array(); #DEFAULT DRUPAL DATABASE $databases['default']['default'] = array ( 'database' => 'drupal', 'username' => 'root',

我正试图从另一个名为“academy”的数据库中的自定义表构建一个视图。我的Drupal安装使用数据库“Drupal”。我已经用以下内容更新了Drupal的settings.php文件:

$databases = array();

#DEFAULT DRUPAL DATABASE
$databases['default']['default'] =  array (
      'database' => 'drupal',
      'username' => 'root',
      'password' => '',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
);

#ACADEMY DATABASE


    $databases['academy']['default'] =  array (
          'database' => 'academy',
          'username' => 'root',
          'password' => '',
          'host' => 'localhost',
          'port' => '',
          'driver' => 'mysql',
          'prefix' => '',
    );  
并清除了缓存。但是,当我在数据模块中转到“采用表”时,我看不到“academy”数据库中的任何表

我漏了一步吗

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'abc',
      'username' => 'root',
      'password' => '',
      'host' => '127.0.0.1',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
  'xyz' => 
  array (
    'default' => 
    array (
      'database' => 'xyz',
      'username' => 'root',
      'password' => '',
      'host' => '127.0.0.1',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);
我已经这样做了,而且很有效。如果您的otherdatabase表名称为
不同,那么你可以直接叫它;否则,请使用数据库名称.table名称调用它。

这实际上创建了与我的代码相同的数组。不是我不能连接到我的数据库,而是我不能从中加载视图。我得继续挖。也许有一个模块或补丁可以做到这一点。您检查了第二个数据库是否已连接并返回了任何数据?如果已连接,只需在视图文件中检查是否在module-name\u veiws\u data()函数中返回$data。是否配置了架构模块(/admin/structure/Schema/settings)并将“要使用的数据库连接”设置为“academy”数据库?