How to make an external database available to Views?
I've done this successfully a couple of different ways:

Use a SQL View to create a virtual table in db_local that refers to the corresponding table in db__extra. The query to create that would look something like this:

USE db_local;
 CREATE VIEW some_table AS 
     SELECT * FROM db__extra.some_table;


You can then refer to this SQL View as if it were a native table in your Drupal database, and you don't even need to add the external database at all in settings.php. Note that this might not be compatible with Data module (see https://www.drupal.org/node/1973806), but you should be able to describe the SQL View to the Drupal Views module by implementing hook_views_data(), and stop using Data module.

Here's another possibility: use selective table prefixes to trick Drupal into rewriting {some_table} to db__extra.some_table. This is not the same as prefixing your Drupal tables. 

Your $databases setting would look like this:

$databases = array (
          'default' => array ('default' => array (
                    'database' => 'db_local',
                    'username' => 'db_local',
                    'password' => '_________',
                    'host' => 'localhost',
                    'port' => '',
                    'driver' => 'mysql',
                    'prefix' => array(
                            'some_table' => 'db__extra.',
                    ),
          ))
);


Again, I'm not sure if this is compatible with Data module, since I don't use it. But it should work with Views if you implement hook_views_data() yourself.