-2

我有一个 ac# 项目,它从 sql server 数据库中检索数据并存储在其中,我有一个这个软件的副本,每个软件都在不同的地方(不同的区域)工作,每个软件都存储在自己的数据库中。我必须通过电话线在这些数据库之间同步数据。我最近阅读了 atapi.dll 。我可以使用这个dll通过在软件之间发送接收数据来实现数据库之间的同步吗?

例如:首先我必须将新记录发送到另一个地方第一个地方有一个电话号码(拨号前:1234566)另一个地方有一个号码(拨号前:3456784)如何发送和接收通过拨号号码在两个软件之间建立文件

4

2 回答 2

1

编写自己的文件同步机制可能听起来很简单,但并不容易,尤其是当您需要同步多方时。

与其编写自己的同步工具,我强烈建议您使用SQL Server 复制,这是 SQL Server 本身内置的一项功能,可以完全支持您上面描述的场景。

如果我理解您的情况:

  1. 您有一个包含来自所有分支站点的所有记录的主数据库
  2. 您在每个站点都有该数据的子集 - 主数据的最新副本以及在本地站点所做的任何更改
  3. 您需要定期让每个站点拨入主服务器并来回同步数据,以便将站点更改推送到主服务器,并将主数据库的更改推送到分支数据库。

为了支持这种情况,您只需将分支机构配置为定期拨入主办公室,并配置 SQL Server 以根据需要复制数据。

我之前配置了一个拥有 25 个分支机构的组织,以使用拨号和宽带连接在不到 2 天的时间内同步大型 SQL Server 生产数据库,其中包括更新其备份策略以满足所采用的复制策略需求的时间。

与编写自己的同步引擎相比,使用 SQL Server 复制可能会为您节省数月的开发工作和数年的调试和运营支持!

于 2015-01-20T19:33:47.120 回答
1

您不想自己处理拨号问题。研究 Windows RAS,它使用拨号在两台主机之间建立 TCP/IP 连接。它可以从 C# 驱动。

完成此操作后,请调查 SQL Server 复制,以便在连接建立后同步数据。

于 2015-01-20T19:42:03.787 回答