c#服务在两个sql服务器之间复制数据

时间:2014-08-27 10:54:31

标签: c# sql

我的计算机上安装了两个sql server(SQL2008 EXPRESS)以及我们正在使用的特定软件附带的SQL2008。 我需要创建一个始终运行的服务,并在特定时间从SQL2008更新SQL2008 EXPRESS中的非现有记录。你能建议一种方法吗? 目前我得到的最好的事情是在excel文件中制作本地副本,但这将导致每年365个excel文件,我认为这不是一个好主意:)

P.S。抱歉,如果我的英语不好:)

2 个答案:

答案 0 :(得分:0)

您不必为此手工制作自己的软件。有OpenDbDiff或RedGate dbdiff等第三方工具可以做到这一点。这些工具生成可以在目标数据库上应用的差异sql。

答案 1 :(得分:0)

当你提到Excel时我很困惑。 Excel将数据从一个SQL数据库移动到另一个数据库有什么作用?

简短的回答是,如果您需要C#服务,那么编写一个C#服务,将数据直接从一个数据库复制到另一个数据库。你试图解决的问题不是很清楚。

说了这么多,并且由于我对问题的理解有限,听起来你需要的是一个SQL作业,它计划每天运行一次,将数据从一台服务器复制到另一台服务器。由于它听起来像是在不同的实例上,因此您只需在源数据库或目标数据库上设置链接服务器,然后将数据推送或拉入正确的表中。

修改

好的,所以如果需要Windows服务,这是完全可以接受的。但是,就像我提到的,你应该忘记Excel。如果您没有其他原因可以在Excel中存在数据,那么您不希望使用SQL-> Excel-> SQL。

以下是有关创建Windows服务的一些信息: Easiest language for creating a Windows service

这是一个关于在C#中访问SQL的简单教程:http://www.codeproject.com/Articles/4416/Beginners-guide-to-accessing-SQL-Server-through-C

如果你想要一个更正式的解决方案(阅读:数据访问层),我会指向Entity Framework。项目的复杂性可能是您是否只想在代码中执行SQL语句而不是使用完整的DAL的驱动因素。