Forum

Moderiert von:
Forum Index
Entwicklerforum
     Entwicklungs Support
     Arbeiten mit 2 Datenbanken auf dem gleichen Server
Hilfe anzeigen
Hilfe anzeigen

Autor Druckerfreundliche DarstellungArbeiten mit 2 Datenbanken auf dem gleichen Server
b-t-o

Registriert: 09.07.2008
Beiträge: 200


Sende eine Private Nachricht an b-t-o
Arbeiten mit 2 Datenbanken auf dem gleichen Server

Geschrieben: 07.09.2008 21:32

Hallo miteinander,

ich habe inzwischen die Integration von einem Modul in OPN fast abgeschlossen.
Jetzt wollte ich das ganze vom Testserver auf den produktiven Server kopieren.

Hierbei bin auf ein kleines Problem gestossen.

Und zwar verwende ich 2 MySql-Datenbanken.

Im Test:
- OPN-Datenbank auf Testserver
- eigene DB auf produktivem Server

In Produktion:
- OPN und eigene DB auf produktivem Server

Da es die gleichen Aufruf-Parameter für den SQL-Connect sind, liefert die Connect-Funktion beides mal die gleiche Resource-ID zurück.

In dem OPN-DB-Layer gibt es wohl die Möglichkeit die Variable forceNewConnect zu setzen, was allerdings nicht standardmässig getan wird.

Ich habe mir jetzt bei meinem eigenen Connect-Aufruf hier beholfen, aber evtl. kommt das Problem ja bei jmd. anderen noch auf.

Gibt es denn Situationen in denen OPN mehrmals ein Connect-Aufruf vornehmen könnte? Wenn nein, könnte man ja standardmässig forceNewConnect auf true setzen.

Gruss,

b-t-o


Zitieren Druckerfreundliche Darstellung nach oben
stefan
Beiträge: 2435
Wohnort: Münster


Sende eine Private Nachricht an stefan
ICQ
Arbeiten mit 2 Datenbanken auf dem gleichen Server

Geschrieben: 08.09.2008 05:25

Was genau soll denn passieren?

nutzt du / willst du im Modul noch nein Zeiger auf eine andere DB?

Das könntest du mit

$_opnConfig =array();

$_opnConfig['dbhost'] = $temp['dbhost'];
$_opnConfig['dbdriver'] = $temp['dbdriver'];

$_opnConfig['dbcharset'] = '';
$_opnConfig['dbdialect'] = '';

$_opnConfig['dbuname'] = $temp['dbuname'];
$_opnConfig['dbpass'] = $temp['dbpass'];
$_opnConfig['dbname'] = $temp['dbname'];

$_opnConfig['tableprefix'] = $temp['opn_tableprefix'].'_';

dbconnect($_opnConfig, false, true);

erreichen.

Dann hast du einen neuen Zeiger $_opnConfig['database']-> ...

Allgemein sollte es nicht vorkommen das der Connect-Aufruf mehrmals mit den gleichen Daten (Beispiel oben hat ja andere Daten) statt findet.

Bei forceNewConnect bin ich mir nicht so sicher das dieses jede SQL DB (gibt ja nicht nur mysql) versteht.


Zitieren Druckerfreundliche Darstellung nach oben
b-t-o

Registriert: 09.07.2008
Beiträge: 200


Sende eine Private Nachricht an b-t-o
Arbeiten mit 2 Datenbanken auf dem gleichen Server

Geschrieben: 09.09.2008 18:54

Hallo Stefan,

ich nutze für ein Modul eine externe Datenbank.
Das Modul - welches ich integriert habe, hatte bisher keinen Komfort, dass es mit mehreren Datenbank-Typen zusammenarbeiten kann. Es konnte nur mit MySQL zusammenarbeiten.

Bevor ich mir jetzt die Mühe gemacht hätte, über den OPN-DB-Layer eine Verbindung aufzubauen, habe ich das bisher so gelassen.

Dabei habe ich halt festgestellt, dass es bei Mysql trotz 2x Aufruf von mysql_connect die gleiche VerbindungsID zurückliefert.

Mein Problem konnte ich ja mit dem ForceNewConnect für mein mysql_connect lösen (das mysql_connect durfte allerdings erst nach dem OPN mysql_connect erfolgen).
Ich wollte es hier nur noch mal reinstellen, falls es noch den ein oder anderen Anwender gibt, der vor dem gleichen Problem steht.

Wenn Du sagst, dass es eigentlich nur einen einzigen Connect gibt, könnte man hier ForceNewConnect für den Aufbau zur OPN-Datenbank auf true setzen.
Jedes einzelne DB-Modul kann ja dann entscheiden, ob es mit damit etwas anfangen kann.

Viele Grüsse

b-t-o


Zitieren Druckerfreundliche Darstellung nach oben
sortieren nach

Hilfe anzeigen
Hilfe anzeigen
Vorheriges Thema:  Rechte eines Moduls anlegen
Nächstes Thema:  [ISO_COMPOSER] Admin Modul

Gehe zu:

Benutzername:
 
Sicherheits-Code
Sicherheits-Code
Neu laden