首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推动ORM并发连接

问推动ORM并发连接
EN

Stack Overflow用户
提问于 2012-01-20 01:35:36
回答 1查看 1.3K关注 0票数 0

我正在做一个使用Propel ORM的项目,需要连接到两个不同的数据库来检索某些数据。我试图在网上搜索指南,但没有运气,因为所有的“解决方案”要么是特定于Symphony的,要么就是根本不起作用。

我希望能够指定两个连接,并能够在某些查询期间通过将连接别名传递给查询在它们之间切换。但是,同时打开两个连接也是可以接受的。

任何和所有的帮助都非常感谢!

谢谢,迪马

EN

回答 1

Stack Overflow用户

发布于 2012-01-20 01:45:24

根据Propel API Docs,您可以通过以下方式在schema.xml文件中定义数据库连接:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<database name="bookstore" defaultIdMethod="native">
    <!-- table definitions go here -->
</database>

然后,您可以在runtime-conf.xml设置中设置连接参数:

代码语言:javascript
复制
<datasources default="bookstore">
  <datasource id="bookstore">
    <adapter>mysql</adapter> <!-- sqlite, mysql, mssql, oracle, or pgsql -->
    <connection>
      <dsn>mysql:host=localhost;dbname=my_db_name</dsn>
      <user>my_db_user</user>
      <password>my_db_password</password>
    </connection>
  </datasource>
</datasources>

-编辑--

Propel似乎不支持数据库标记的alias属性,但您应该能够做到以下几点:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<database name="bookstore_primary" defaultIdMethod="native">
    <!-- table definitions go here -->
</database>

<database name="bookstore_secondary" defaultIdMethod="native">
    <!-- table definitions go here -->
</database>

<datasources default="bookstore_primary">
  <datasource id="bookstore_primary">
    <adapter>mysql</adapter> <!-- sqlite, mysql, mssql, oracle, or pgsql -->
    <connection>
      <dsn>mysql:host=localhost;dbname=bookstore_primary</dsn>
      <user>my_db_user</user>
      <password>my_db_password</password>
    </connection>
  </datasource>
</datasources>

<datasources default="bookstore_secondary">
  <datasource id="bookstore_secondary">
    <adapter>mysql</adapter> <!-- sqlite, mysql, mssql, oracle, or pgsql -->
    <connection>
      <dsn>mysql:host=localhost;dbname=bookstore_secondary</dsn>
      <user>my_db_user</user>
      <password>my_db_password</password>
    </connection>
  </datasource>
</datasources>

看看这能不能用。归根结底,真正重要的是可以连接到这两个数据库(使用各自的DSN)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8930615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档