質問

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

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

役に立ちましたか?

解決

外部データベースシステムに接続するのに役立つこの1つの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

他のヒント

私はそれをテストしていませんが、それが複製することを期待します 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>

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

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

$resource = Mage::getSingleton(‘core/resource’);
$conn     = $resource->getConnection(‘externaldb2_read’);

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top