方案
我想从7个客户端数据库备份到1个服务器数据库。 我不知道db {server或client db}的结构。 两个数据库都有旧数据。现在我必须让该工具为此备份。 并且应该可以备份旧数据[如果对旧数据进行了任何更新。] 请帮助找到解决方案。 1.我该如何处理这个问题。 2.数据库未指定,可能是MS访问或Sql server 2005 3.我可以在其中实现[我正在考虑在c#中执行此操作]
请帮我找到解决方案
答案 0 :(得分:0)
我不确定你为什么要这样做 - 如果你只是想复制客户端数据库(我将其解释为“基于文件”)那么为什么不简单地将他们的文件复制为更广泛的备份策略的一部分?
如果您要编写备份内容以将所有数据放在基于RDBMS的服务器中,那么您还必须考虑如何在以后恢复该信息 - 这可能意味着为您编写更多代码。
所以 - 我认为这不是一个好主意,但如果你有决心,我会先写一个专门用于阅读客户数据库结构的类(几乎是抽象的)(表,字段,视图等)。然后我继承了这个,为每个单独类型的客户端DB获取一个特定的类。完成后,可以使用ADO.Net从客户端数据库中的表中读取值,使用信息填充数据表,然后将该信息写回基于服务器的数据库。
虽然我不喜欢这个想法,但我真的不能强调 - 它似乎过于复杂,也不会处理功能等。
祝你好运,
马丁
答案 1 :(得分:0)
除此之外,对于该问题的特定子集的一个简单答案的建议是为目标SQL Server(或任何服务器数据库)创建DSN,并在表中为DSN创建表。您可以通过Access UI执行此操作,并且可以使用DoCmd.TransferDatabase在Access中自动执行此操作。它可能有点繁琐地找出正确的连接字符串,你还需要做一些关于重命名导出表的事情,这样数据库之间就不会发生冲突,但是可以在一些VBA代码中轻松处理。< / p>
我发布这个只是因为许多人忽略了导出到ODBC DSN的Access功能,这不需要编写DDL等等。但是,它可能会或可能不会对目标数据类型做出正确的选择,因此您必须在任何特定情况下看到它是否足够好。