8

Magento からいくつかの外部データベースに接続する必要があります。Magento で外部データベース接続を作成するためのチュートリアルが 1 つ見つかりました。このチュートリアルは役に立ち、1 つの外部データベースへの接続に役立ちました。しかし、複数の外部データベースに接続する必要があります。

Magento で複数の外部データベース (5 つの外部データベースを想定) に接続するにはどうすればよいですか?

4

4 に答える 4

5

モジュールの etc/config.xml ファイルで使用されるリソースを指定して、モジュールが常に特定のデータ ソースを使用するようにするか、前の回答で説明したようにグローバル構成 xml で指定すると、この接続が使用されます。デフォルト。

コードでリソースを変更できます。

$resource = Mage::getSingleton(‘core/resource’);
$conn     = $resource->getConnection(‘externaldb2_read’);
于 2011-02-07T11:15:06.150 に答える
5

私はそれをテストしていませんが、externaldb_*ノードglobal\resourcesを別の (一意の) リソース名で複製するとexternaldb2_*うまくいくはずです。

<global>
<resources>
  <externaldb_write>
    <connection>
      <use>externaldb_database</use>
    </connection>
  </externaldb_write>
  <externaldb_read>
    <connection>
      <use>externaldb_database</use>
    </connection>
  </externaldb_read>
  <externaldb_setup>
    <connection>
      <use>core_setup</use>
    </connection>
  </externaldb_setup>
  <externaldb_database>
    <connection>
      <host><![CDATA[localhost]]></host>
      <username><![CDATA[db_username]]></username>
      <password><![CDATA[db_password]]></password>
      <dbname><![CDATA[db_name]]></dbname>
      <model>mysql4</model>
      <type>pdo_mysql</type>
      <active>1</active>
    </connection>
  </externaldb_database>
  <externaldb2_write>
    <connection>
      <use>externaldb2_database</use>
    </connection>
  </externaldb2_write>
  <externaldb2_read>
    <connection>
      <use>externaldb2_database</use>
    </connection>
  </externaldb2_read>
  <externaldb2_setup>
    <connection>
      <use>core_setup</use>
    </connection>
  </externaldb2_setup>
  <externaldb2_database>
    <connection>
      <host><![CDATA[localhost2]]></host>
      <username><![CDATA[db2_username]]></username>
      <password><![CDATA[db2_password]]></password>
      <dbname><![CDATA[db2_name]]></dbname>
      <model>mysql4</model>
      <type>pdo_mysql</type>
      <active>1</active>
    </connection>
  </externaldb2_database>
</resources>

于 2011-01-11T05:10:36.297 に答える
2

外部データベース システムへの接続に役立つこの Magento モジュールを見つけました。http://subesh.com.np/2012/02/magento-external-database-connector-v1-0-0-released/

モジュールを試してみたところ、うまく機能しているようです。これが役に立てば幸いです。

編集:

モジュールは Magento Connect でも利用できます。http://www.magentocommerce.com/magento-connect/sp-edb-4574.html

于 2011-04-13T04:26:57.390 に答える
0

私の知る限り、モデルを同じモジュール内から複数のデータベース ソースに接続することはできません。

私が行ったことは、代替データベースに接続する必要があるモデルのみを含む並列ダミー モジュールを作成することです。したがって、すべての作業を行うモジュールは 1 つのブランチにあり、他のデータベースと対話するためのダミー モジュールは別です。最もエレガントなソリューションではありませんが、問題を美しく解決します...しかし、最もエレガントではないわけでもありません

于 2011-07-15T20:56:50.430 に答える