2012-03-23 12 views
1

こんにちは私のzendフレームワークアプリケーションで2つのデータベースを接続しようとしています。Zend multidb接続が失敗しています

以下は、local.iniファイルのdatabalse設定です。

resources.multidb.core.adapter = "pdo_mysql" 
resources.multidb.core.params.host = "hostname" 
resources.multidb.core.params.username = "root" 
resources.multidb.core.params.password = "pwd" 
resources.multidb.core.params.dbname = "coredb" 
resources.multidb.core.isDefaultTableAdapter = true 

resources.multidb.app.adapter = "pdo_mysql" 
resources.multidb.app.params.host = "hostname" 
resources.multidb.app.params.username = "roor" 
resources.multidb.app.params.password = "iamroot123" 
resources.multidb.app.params.dbname = "appdb" 
resources.multidb.app.isDefaultTableAdapter = false 

ブートストラップのコードは次のとおりです。

public function _initDbRegistry() 
{ 
    $this->bootstrap('multidb'); 
    $resource = $this->getPluginResource('multidb'); 
    Zend_Registry::set('dbCore', $resource->getDb('core')); 
    Zend_Registry::set('dbOlap', $resource->getDb('app')); 
} 

しかし、私は次のエラーを取得しています私のアプリケーションにアクセスしようとしています。

Fatal error: Uncaught exception 'Zend_Db_Adapter_Exception' with message 'Configuration array must have a key for 'dbname' that names the database instance' in C:\xampp\zend\library\Zend\Db\Adapter\Abstract.php:287 Stack trace: #0 C:\xampp\zend\library\Zend\Db\Adapter\Abstract.php(183): Zend_Db_Adapter_Abstract->_checkRequiredOptions(Array) #1 C:\xampp\zend\library\Zend\Db.php(270): Zend_Db_Adapter_Abstract->__construct(Array) #2 C:\xampp\zend\library\Zend\Application\Resource\Multidb.php(99): Zend_Db::factory('pdo_mysql', Array) #3 C:\xampp\zend\library\Zend\Application\Bootstrap\BootstrapAbstract.php(683): Zend_Application_Resource_Multidb->init() #4 C:\xampp\zend\library\Zend\Application\Bootstrap\BootstrapAbstract.php(626): Zend_Application_Bootstrap_BootstrapAbstract->_executeResource('multidb') #5 C:\xampp\zend\library\Zend\Application\Bootstrap\BootstrapAbstract.php(586): Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap(NULL) #6 C:\xampp\zend\library\Zend\Application.php(355): Zend_Application_Bootstrap_Boo in C:\xampp\zend\library\Zend\Db\Adapter\Abstract.php on line 287 

私が間違って何が起こっているかを理解することはできませんよ。誰か助けてくれますか?また、モデルクラスでdbオブジェクトをどのように使うべきか教えてください。

多くのありがとうございます。

+0

は最終的に私はこの問題を考え出しました。私はもはやparamsを使うべきではありません。 しかし、これはほかの人や、すべてのチュートリアルやドキュメントではどのように動作していますか?例ではconfig内にparamsが表示されています。 – codlib

答えて

4

あなたはのapplication.iniは、(削除:のparams):これを間違ってしてみてくださいすることができるMultidb Example #14のドキュメントを見て

​​
+0

thats correct。私はすでにそれを考え出した。しかし、あなたの提案と時間に感謝します。 – codlib

関連する問題