繁体   English   中英

数据库备份

[英]Database Backup

情境

我想从7个客户端数据库备份到1个服务器数据库。 我不知道db {服务器或客户端db}的结构。 这两个数据库都有旧数据。 现在,我必须使该工具为此备份。 并且也应该备份旧数据[如果对旧数据进行了任何更新。]请帮助找到解决方案。 1.我该如何解决这个问题。 2.未指定数据库,可能是MS Access或Sql Server2005。3.我可以在其中实现此目标[我正在考虑在c#中完成]

请帮助我找到解决方案

我不确定您为什么要这样处理-如果您只是尝试复制客户端数据库(我认为这是“基于文件”),那么为什么不简单地将其文件副本作为文件的一部分呢?更广泛的备份策略?

如果您编写备份内容以将所有数据放置在基于服务器的RDBMS中,那么以后您还必须考虑如何还原该信息-可能意味着需要更多的编码。

所以-我认为这不是一个好主意,但是如果您下定决心,我将首先编写一个类(几乎是抽象的),专门用于读取客户端数据库的结构(表,字段) ,观看次数等)。 然后,我将从中继承来获得一个特定的类,以针对每种单独类型的客户端数据库执行此操作。 一旦有了这些,就可以使用ADO.Net从Client DB中的表中读取值,用信息填充数据表,然后将该信息写回到基于Server的DB中。

尽管我不喜欢这个主意,但我真的不能足够强调-它似乎过于复杂,也不会处理函数等。

反正祝你好运

马丁

除了这样做,建议为该问题的特定子集提供一个简单的答案,即为目标SQL Server(或任何服务器数据库)创建DSN,并在Access中逐表导出到DSN。 您可以通过Access UI来执行此操作,并且可以在Access中使用DoCmd.TransferDatabase将其自动化。 弄清楚正确的连接字符串可能有点麻烦,并且您还需要对重命名导出的表进行一些操作,以使数据库之间没有冲突,但是可以通过一些VBA代码轻松地解决。

我之所以发表这篇文章,仅是因为许多人忽略了导出到ODBC DSN的访问功能,该功能不需要编写DDL等。 但是,它可能会或可能不会对目标数据类型做出正确的选择,因此您必须在任何特定情况下查看它是否足够好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM