Autor b-t-o
Datum 07.09.2008 21:32
Beiträge: 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


Autor stefan
Datum 08.09.2008 05:25
Beiträge: 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.


Autor b-t-o
Datum 09.09.2008 18:54
Beiträge: 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




Diese Seite drucken
Diese Seite schließen

Dieser Artikel kommt von: OpenPHPNuke - das Open Source CMS

http://www.openphpnuke.info/