Drupal: Auf fremde/zweit Datenbank zugreifen
Problem: Auf der vorhanden Drupal Installation will ich auf Daten einer anderen Datenbank zugreifen. Drupal hat dafür bereits einen Weg vorgesehen. Dazu geht man in die sites/default/settings.php Datei. Folgende Zeile definiert die Standard Datenbank:
$db_url = 'mysql://drupal:drupal@localhost/drupal';
Wandelt man $db_url in ein Array um, kann man beliebig viele Datenbank definieren.:
$db_url['default'] ='mysql://drupal:drupal@localhost/drupal';
$db_url['mydb'] = 'mysql://user:pwd@localhost/anotherdb';
$db_url['db3'] ='mysql://user:pwd@localhost/yetanotherdb';
Im Modul, wo man dann auf die Daten zugreifen will mach man das folderndermassen:
db_set_active('mydb');
db_query('SELECT * FROM table_in_anotherdb');
//...
db_set_active('default');
Default ist die Standard-Datenbank. Sie ist erforderlich. In dieser Datenbank ist Drupal installiert. Man muss aufpassen, dass man nach dem Sprung in die andere Datenbank die default Datenbank wieder auf aktiv stellt.
Quelle: http://drupal.org/node/18429
Kommentar hinzufügen