2013-04-22 40 views
0

我需要我怎么能做到这一点建议...同步多个不同的DB到一个数据库(SQL Server 2008中)

我有3级员工的解决方案 有自己的DB

什么即时通讯解决方案,每试图将所有这三个数据库统一为一个。我还希望在未来增加一些其他员工解决方案的灵活性。

我还想使用SSIS。

我一直在想的是,创建一个SSIS包,其中打开一个数据库并导入所有数据,这个SSIS包会使用某些数据库的列映射的“东西”,以便SSIS知道哪些列导入。 ..

我试图尽可能清楚...任何想法? 在此先感谢

+0

单个数据库的用意是什么?报告或管理主数据?你的问题非常模糊。请说明单个数据库的意图。另请说明,三个源数据库是不同还是相同?即它们是相同的产品/版本,还是它们具有不同模式的不同数据库? – 2013-04-23 00:51:23

+0

嗨,单数据库将用于管理来自3个不同来源的数据,这样我只需要维护一个数据库,如果我添加一个新员工到我的单个数据库,它应该与其余的同步来源... 源数据库是不同的DB ...他们有相似的列,但他们不会被称为完全相同,我认为三个中的至少一个是在Oracle分区 – 2013-04-23 13:00:47

回答

0

因此,如果你添加一个新的员工到中央数据库它应该推到其他三个。如果其他3具有不同的架构和不同的平台,那么当您添加一个员工时,您需要计算出它将要使用的数据库,并且您需要为每个数据库定制插入代码。此外,您还需要考虑如果同一个人偶然被添加到中央和远程数据库,并且信息稍有不同,会发生什么情况。你会在远程数据库中得到一个重复的结果。如果我正确理解了您的需求,这更像是一个主数据应用程序,而不是报表应用程序。

您的第一步是为您的中央数据库提供一个模式,并且这必须容纳三个远程数据库中的所有信息。那么你需要考虑规则来融合所有这些数据库中的信息。即如果一个数据库具有“眼睛颜色”,另外两个数据库没有,然后您创建一个眼睛颜色到中央数据库的员工,但目标数据库没有该字段,那么行吗?如果有人更改源数据库中的DOB,会发生什么情况?是否意味着要更新中央数据库。如果你在同一时间在两个数据库中都这么做 - 谁是赢家?

您试图解决什么是业务问题?

+0

嗨,问题即时尝试首先解决的问题是如何将每个远程数据库的员工行都带到我的中央数据库中,而不需要为每个远程数据库分别创建一个包...我想要做一个通用包,知道如何从不同的行导入行D b。我已经有了一个用于中央数据库的模式,这个模式非常简单,每个员工数据库都应该有......(姓名,地址...),如果有一行不存在于远程数据库中,它不会存在物。我还没有决定如何合并信息,我想我会专注于一个单一的任务第一...感谢您的答案 – 2013-04-24 13:29:41

+0

如果所有的数据源稍有不同,你不能做一个单一的通用包。你当然可以做一个包,但你需要三个数据流,因为每个数据流都需要为源定制。 – 2013-04-26 06:10:13

相关问题