1

我有一个问题,但我不确定该用什么词。

我的问题:我有一个使用数据库存储信息的应用程序。数据库可以在访问(本地)或服务器(SQL Server 或 Oracle)中。我们支持这 3 种数据库。我们想让用户有可能做我认为我们可以称之为版本控制的事情。

让我解释一下: 我们有一个数据库 1. 这个是master。我们希望能够创建一个与数据库 1 相同的数据库 2,但我们可以将其提供给其他人。

他们各自在对方工作,在这个非常复杂的数据库上添加、修改和删除记录。之后,我们希望数据库 1 包含来自数据库 2 的更改,但可以忽略一些更改。

供您参考,您的应用程序已经是多用户的,那么我们为什么不直接使用这个多用户而忘记这个版本控制呢?这是因为有时,我们需要将数据库的副本提供给另一个站点上的另一个公司,而他们无法连接到我们的服务器上。他们在他们身边工作,然后,我们想要合并。

这里有没有人有这种要求的经验?我们有很多想法,但其中大多数都需要大量工作,对数据库或现有查询进行大量修改。

这是一个 200 万且不断增长的 C++ 应用程序,所以重写它是不可能的!

感谢您给我们的任何想法!

杰夫

4

2 回答 2

0

这已经由 ical(一个旧的 SunOS 日历应用程序)完成。

当应用程序进行更改时,您存储/记住/传输的不仅仅是数据库内容,而是实际的更改日志(例如“删除 ID 为 1 的记录”、“使用这些字段更新 ID 为 2 的记录”、“插入记录这些字段")

这样您就可以稍后将这些更改应用到主数据库,并在应用之前过滤它们

于 2010-03-17T19:07:40.380 回答
0

您正在寻找的术语是 Database Replication。您可以谷歌以获取有关该主题的更多信息(我的个人经验有限)。

于 2010-03-17T19:11:06.183 回答