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

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <php>
  • Zeilen und Absätze werden automatisch erzeugt.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <drupal>, <js>, <php>, <vb>. PHP-Quellcode kann in <?php ... ?> or <% ... %> eingeschlossen werden.
  • Verlinkte Bilder mit dem 'rel="lightbox"' in <a> Tags wird die Lighbox aufrufen, wenn darauf geklickt wurde.

Weitere Informationen über Formatierungsoptionen

Mit dem Absenden dieses Formulars, akzeptieren Sie die Datenschutzrichtlinie von Mollom.