2013-04-18 228 views
0

我目前的系统使用的是Zend Framework 1,并且与我们的本地MySQL服务器配合良好。但是,我现在需要访问另一台服务器来导入/导出。我正在使用从zend_db_table_abstract扩展的类来查询必要的表。使用Zend_Db_Table访问远程服务器

class Model_Db_ExportData extends Zend_Db_Table_Abstract{ 
    protected $_name; 
    protected $_schema; 
} 

我实例名称和架构,当我创建对象

$export = new Model_Db_ExportData(array('name' => $this->exportTable, 'schema' => $this->db)); 

编辑 据我所知,是的Zend_Db_Table不定义主机,因为它不仅影响表的地方。不过,我仍然无法弄清楚我可以在config之外定义主机。 编辑

如何从我的配置中定义的服务器指定一个单独的服务器?我是否需要为此代码使用自定义配置文件? Zend_Db_Table_Abstract文档不是很有帮助,虽然它很大,我可能很容易漏掉一些东西。很感谢任何形式的帮助。

回答

1

至少有2种可能的方式来完成你想要什么:

  1. Zend_Db_Adapter - 检查例子,来看看如何创建与远程服务器设置的适配器;
  2. Zend_Config_Ini - 使用远程服务器设置创建一个文件,然后在您的应用程序中调用。
+0

Zend_Db_Adaptor正是我所需要的,谢谢。 – TheMonarch

+0

作为后续工作,我可以像使用zend_db_table一样使用zend_db_adaptor吗?我在文档中看到,我可以以常规sql的形式将查询传递给它,并且可以使用fetchAll等。它与where(),join()等具有相同的灵活性吗? – TheMonarch

+1

您仍然可以使用Zend_Db_Table,只需创建Zend_Db_Adaptor 1st,然后调用Zend_Db_Table :: setDefaultAdapter($ dbAdapter); **。 –