Custom external read-only databases with Drupal, how to use views to communicate with the external database?
Yes there is a way to use views to get data out of an external database. You will need the hooks_view_data()

There is however the limitation the view can not cross databases I believe.

To solve this, you can write a custom module

&lt;?php

function yourmoduleame_views_views_api() {
   return array(
      'api' =&gt; 3,
   );
}


function  yourmodulename_views_views_data() {
   $data['arTable']['table']['group'] = t('yourtable Data');
   $data['arTable']['table']['base'] = array(
      'field' =&gt; 'id',
      'title' =&gt; t('your title'),
      'help' =&gt; t('help text'),
      'database' =&gt; 'databasename',
      'weight' =&gt; -10,
   );


Where databasename is one of your db_names defined in settings.php.

For more information, look at this post