有人有在数据库复制的环境中使用 DevExpress 的 XPO 的经验吗?从我的 上一个问题 这里还有一个关于服务器故障的内容,我认为已经决定复制是可行的方法。

MySQL 文档 假设所有写入都需要在主服务器上进行,所有读取都必须来自从服务器。这是有道理的,但现在的问题是设置 XPO 以写入主机(远程),但从从机(本地)读取。

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

有帮助吗?

解决方案

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

这里有一些主-主复制链接,以防您还没有看到它们。
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复制解决方案 (从谷歌缓存,原始链接由于某种原因现已失效)


您尝试过 DevExpress 论坛上建议的方法吗?我就是这么做的。

来自阿利安·俾斯麦 这里

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top