[GELÖST] Mehrere DB's ansprechen

Hallo.

ich mal wieder ;)

Es geht um folgendes.

Ich habe, bzw ich muss ein datenbank benutzen, die viele dbs hat.

In der main.php unter config, kann ich ja einen dbzugriff fertig machen.


'db'=>array(

			'connectionString' => 'mysql:host=ipadresse',

			'emulatePrepare' => true,

			'username' => 'root',

			'password' => 'stc400',

			'charset' => 'utf8',

			'autoConnect' => true,

Jetzt will ich z.b. userdaten abfragen. Das geht ja im grundegenomemn so:


$this->connection = new CDbConnection(Yii::app()->db);

wie spreche ich nun aber die db mitarbeiter an? das muss ich ja im dns machen.

ich könnte jetzt natürlich in der config main.php die zeile mit dem connectionstring ändern und dann alle dbs nach einander reinschreiben.


'connectionString' => 'mysql:host=ipadresse;dbname:mitarbeiter',

vorausgesetzt das ist richtig so…

Aber ehrlich gesagt würde die main dann a wenig ins extreme wachsen sind schon so 10-15 DB’s.

Kann man die also irgendwie anders ansprechen, direkt da, wo ich die connection aufbaue?

du definierst in der config einen zweiten ‘db’-Eintrag, nennst ihn ‘db2’ und musst nur noch hinzufügen, welche Klasse du damit ansprichst (‘class’ => ‘CDbConnection’). Dann kannst du auf die zweite Datenbankverbindung mit Yii::app()->db2 zugreifen

genau das wollte ich eigentlich umgehen.

irgendwo musst du die connectionStrings verwalten und da macht sich die config eigentlich ganz gut

na gut ok. haste ja auch eigentlich recht. ist den die ansprache meiner db richtig im connectionString?


'connectionString' => 'mysql:host=ipadresse;dbname:mitarbeiter',

Hab schon gesehen. Muss so sein:


'connectionString' => 'mysql:host=ipadresse;dbname=mitarbeiter',

allerdings kriege ich nun folgenden fehler:

Alles klar. alles gelöst.