PEAR-Forum.de Übersicht Thema anzeigen - Connect: Zwei Datenbanken

Connect: Zwei Datenbanken


 

PEAR-Forum.de Übersicht » Database
Neues Thema eröffnen Neue Antwort erstellen Diesen Beitrag ausdrucken
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
markus1917
User


Anmeldungsdatum: 11.12.2007
Beiträge: 24

Beitrag17.03.2009 9:32    Connect: Zwei Datenbanken Antworten mit Zitat

Ich suche gerade verzweifelt einen Fehler mit dem Connect zu zwei Datenbanken.

define("EINS","mysql://benutzer:test@192.168.10.100/dbeins");
define("ZWEI","mysql:// benutzer2:test2@192.168.10.100/dbzwei");
$options = array ('persistent' => true);
$db1 =& MDB2::factory(EINS, $options);
$db1->setFetchMode(MDB2_FETCHMODE_ASSOC);
if(PEAR::isError($db1)) {
die("DB EINS geht nicht!");
}

$db2 =& MDB2::factory(ZWEI, $options);
$db2->setFetchMode(MDB2_FETCHMODE_ASSOC);
if(PEAR::isError($db2)) {
die("DB ZWEI geht nicht!");
}

$query="select foo1 from bar1";
$result1=$db1->queryAll($query));
if (PEAR::isError($result1)) {
die($query."<br><br>" . $result1->getMessage());
}

$query="select foo2 from bar2";
$result2=$db2->queryAll($query));
if (PEAR::isError($result2)) {
die($query."<br><br>" . $result2->getMessage());
}

// bis hier alles super!

$query="select foo1 from bar1";
$result1=$db1->queryAll($query));
// hier kommt der fehler!
if (PEAR::isError($result1)) {
die($query."<br><br>" . $result1->getMessage());
}


Wo ist der Denkfehler?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mark
Power User


Anmeldungsdatum: 31.05.2004
Beiträge: 970

Beitrag17.03.2009 21:56     Antworten mit Zitat

Möchtest du uns auch verraten, welche Fehlermeldung du bekommst?

In vielen Fällen hilft es bei MDB2 übrigens, neben getMessage() auch getDebugInfo() aufzurufen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen PEAR-User
markus1917
User


Anmeldungsdatum: 11.12.2007
Beiträge: 24

Beitrag18.03.2009 5:11     Antworten mit Zitat

Ja sorry: Es sagt, dass es tabelle "foo1" nicht findet. Also scheint es doch so, dass nicht der richtige Handler bedient wird.

Ich stehe da vor einem Rätsel!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
markus1917
User


Anmeldungsdatum: 11.12.2007
Beiträge: 24

Beitrag19.03.2009 6:09     Antworten mit Zitat

Die Lösung RTFM Wink

http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php

Einfach die option new_link=true und persistent auf false setzen, wie es die FAQ sagt:
Zitat:
new_link [boolean] Some RDBMS do not create new connections when connecting to the same host multiple times. If this option is set to TRUE it will attempt to force a new connection.


Code:
define("EINS","mysql://benutzer:test@192.168.10.100/dbeins?new_link=true");
define("ZWEI","mysql:// benutzer2:test2@192.168.10.100/dbzwei?new_link=true");
$options = array ('persistent' => false);


Warum man das nicht über die options beim connect setzen kann, ist mir schleierhaft. Solange es geht, kann mir das aber auch egal sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Diese Seite übersetzen
PEAR-Forum.de Übersicht » Database
Neues Thema eröffnen Neue Antwort erstellen Diesen Beitrag ausdrucken
   Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

Zu Deinen Favoriten hinzufügen

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen