2010-05-16 212 views
2

场景数据库备份

我想从7个客户端数据库备份到1个服务器数据库。 我不知道数据库的结构{服务器或客户端数据库}。 两个数据库都有旧数据。现在我必须让这个工具为此做好备份。 并且应该可以备份旧数据[如果对旧数据进行了任何更新。] 请帮助找到解决方案。 1.我该如何处理这个问题。 2.数据库没有指定,可能是MS访问或SQL Server 2005 3.在,我可以实现这个[我想在C#中做的]

请帮我找到解决办法

回答

0

我我不确定为什么你想这样做 - 如果你只是试图复制客户端数据库(我认为它是“基于文件”),那么为什么不简单地将他们的文件的副本作为更广泛的一部分备份策略?

如果您编写备份内容以将所有数据放入基于服务器的RDBMS中,那么您将不得不考虑如何在以后恢复该信息 - 这可能意味着需要更多的编码。所以 - 我不认为这是一个好主意,但如果你确定了,我会开始写一个类(这将是几乎抽象的),致力于阅读客户数据库的结构(表格,字段,视图等)。然后,我会继承它,为每个客户数据库类型获取一个特定的类。完成此操作后,可以使用ADO.Net从客户端数据库中的表中读取值,使用该信息填充数据表,然后将该信息写回基于服务器的数据库。

我真的不能强调不够,虽然我不喜欢这个主意 - 它似乎过于复杂,也不会与功能等

好运反正

马丁

处理
0

这样做的可行性,对于特定问题的一个子集,一个简单的答案是为目标SQL Server(或任何服务器数据库)创建一个DSN,并在Access中将表导出到DSN。您可以通过Access UI执行此操作,并可以使用DoCmd.TransferDatabase在Access中自动执行此操作。可能有点费力地弄清楚正确的连接字符串,而且还需要对重新命名导出的表进行一些操作,以便数据库之间不会发生冲突,但这可以通过一些VBA代码轻松处理。

我只发布这是因为很多人忽略了Access能力导出到ODBC DSN,这不需要写入DDL等等。不过,它可能会也可能不会对目标数据类型做出正确的选择,所以如果足够好或不足,您将不得不在任何特定情况下查看。