【问题标题】:Writing to one db while reading from another using DevExpress XPO使用 DevExpress XPO 写入一个数据库,同时读取另一个数据库
【发布时间】:2009-06-24 19:38:47
【问题描述】:

有没有人在复制数据库的环境中使用 DevExpress 的 XPO 的经验?从我的previous question 和服务器故障中,我认为已经决定复制是要走的路。

MySQL docs 表示所有写入都需要发生在主设备上,所有读取都必须来自从设备。这是有道理的,但现在需要将 XPO 设置为写入主设备(远距离),但从从设备(本地)读取。

我在 DevExpress 论坛上收到了一个很好的 response,关于如何做到这一点,我打算尝试,但我想知道是否有人做过,以及他们会有任何见解/陷阱/参考。

【问题讨论】:

    标签: replication devexpress


    【解决方案1】:

    编辑:因为你不喜欢第一种方法。

    这里有一些主-主复制链接,如果你还没有看到的话。
    http://forums.mysql.com/read.php?144,235807,235807
    http://code.google.com/p/mysql-master-master/
    http://www.mysqlperformanceblog.com/2007/04/05/mysql-master-master-replication-manager-released/ http://www.howtoforge.com/mysql_master_master_replication

    一些潜在的维基百科条目。 http://en.wikipedia.org/wiki/Replication_%28computer_science%29#Database_replication
    http://en.wikipedia.org/wiki/Multi-master_replication


    Mysql Replication Solutions (从google缓存,原链接现在因为某种原因失效了)


    你试过 DevExpress 论坛上建议的方法了吗?我就是这样做的。

    来自 Alian Bismark Here

    1. 创建会话A
    2. 调用 SessionA.Disconect() - 将 ConnectionString 设置为 SessionA 并调用 SessionA.Connect()
    3. 创建会话B
    4. 调用 SessionB.Disconect() - 将 ConnectionString 设置为 SessionB 并调用 SessionA.Connect()
    5. 从 SessionA 加载对象,使用 XPCollection auxL = new XPCollection(SessionA)
    6. 创建 SessionB 的对象,使用 B b = new B(SessionB)
    7. 将对象 A 中的字段分配给对象 b 8 保存对象 b

    这种方法适用于基本对象,如果您有关系等,则需要使用会话 A 的对象信息来解析会话 B 中对象的引用。

    【讨论】:

    • 不,我没有,也不认为我会。涉及太多黑客行为。除非有更好的解决方案出现,否则我选择了 mysql 中的主-主复制。
    • 是的,我同意hackery。虽然,我认为这是完成您需要的合法方式。
    • 我为您添加了更多链接,我不确定您是否看过它们,尽管您可能看过。
    • +1 表示我还没有看到的好谷歌代码链接,其余的我有(第一个链接坏了,但我已经阅读了 mysql 复制文档)。跨度>
    • 哇,那个链接昨天有效,我回到谷歌找到了缓存页面的链接,我不知道它是否是你需要的,但我认为它不会有坏处在这里。
    猜你喜欢
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    相关资源
    最近更新 更多