Drupal und Remote Datenbank (Oracle)
am 25.02.2014 - 15:37 Uhr in
Hallo zusammen,
Ich bin ziemlich vertraut mit DRUPAL, und habe schon einige Projekte umgesetzt. Etwas Grundwissen ist also vorhanden. Zurzeit bin ich dabei DRUPAL (7.26) als Basis zu verwenden, um eine Survey-Plattform zu erstellen. Als Hauptmodul verwende ich Webform 4.
Die Plattform richtet sich an unsere Kunden. Diese kommen jeweils auf die Seite um Ihre Probleme zu melden. Sie füllen ein Multistep Formular aus, mit konditionellen Feldern. Nach der Submission erolgt das Routing per Email an die zuständigen Teams (z.T. von der Eingabe abhängig). Soweit so gut!
Das ich die Anfragen gruppieren kann (Status des Kunden), möchten ich die ersten Eingaben des Benutzers (Kundennummer) mit einer Datenquelle in einer ORACLE 11g DB quervergleichen. Für den Zugriff auf die Quelle habe ich ein Modul erstellt. Für den Aufruf habe mir einfach einen "Node" (PHP Eingabe) erstellt mit dem "Connection string" zur ORACLE-Umgebung und dem Aufruf der "Stored Function" (Die Werte die ich dann erhalte möchte ich in meiner Webform dann weitergeben). So will ich das aber auf keinen Fall machen. Ich möchte den Standard Drupal Zugriff verwenden, kriege das aber nicht hin. Google hat mir bis jetzt nur bedingt geholfen. Hat hier vielleicht schon jemand die Erfahrung gemacht neben der Standard DB (in meinem Fall MySql) eine 2 Datenbank zu verwenden? Oder ist mein Ansatz vielleicht total falsch?
Ich bin für jede Hilfe wirklich sehr Dankbar! Für Fragen stehe ich gerne zur Verfügung.
Meine Settings.php sieht so aus:
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'eformchtst',
'username' => 'eformchtst',
'password' => 'pw',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
'oracle' =>
array (
'default' =>
array (
'database' => 'intchtst',
'username' => 'mri',
'password' => 'pw',
'host' => 'ip-adresse',
'port' => '',
'driver' => 'oracle',
'prefix' => '',
),
),
);
Die Funktion die die Werte aus ORACLE liefert soll dann in etwa so aussehen:
function mssi_data_getCt($id, $name, $do) {
db_set_active('oracle');
$conn = Database::getConnection('oracle');
$stmt = $conn->prepare('begin ? := f_oci_get_ct(:p1, :p2, :p3); end;');
$stmt->bindParam(":p1", $id);
$stmt->bindParam(":p2", $name);
$stmt->bindParam(":p3", $do);
$stmt->execute();
$retval = $stmt>fetch( PDO::FETCH_ASSOC );
echo $retval;
db_set_active();
}
Beste Grüsse
Rene Ryhner
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 11 Stunden 39 Minuten
vor 13 Stunden 22 Sekunden
vor 16 Stunden 26 Minuten
vor 17 Stunden 16 Sekunden
vor 1 Tag 2 Stunden
vor 1 Tag 3 Stunden
vor 1 Tag 5 Stunden
vor 1 Tag 8 Stunden
vor 1 Tag 10 Stunden
vor 1 Tag 11 Stunden