如何将Access数据库与SQL Server同步,访问数据库中所做的更改应反映在SQL Server数据库中

时间:2014-08-12 06:46:02

标签: sql-server vb6 synchronization

如何同步使用SQL Server访问数据库,以便访问数据库中所做的更改应反映在SQL Server数据库中。前端为Vb6。

1 个答案:

答案 0 :(得分:0)

没有简单的方法。你必须:

  1. 在每个表中添加校验和冒号
  2. 计算Access表中的校验和for new&改变记录
  3. 更新已更改的记录(现有密钥,不同的校验和)
  4. 添加新记录(不存在的密钥)
  5. at 1. VB6没有任何校验和功能。在互联网上有大量的VB6校验和功能,找到一个并实现。具有更多字节的数据类型更好。提示:将记录中的所有值连接到一个字符串(类似于CSV)并计算该字符串的校验和。

    at 2.正确的方法是计算应用程序中更改/新记录事件中的校验和。不太正确但可能的是在同步之前计算校验和(它取决于记录的数量等)。

    注意:SQL Server中的大校验和功能是fn_repl_hash_binary。您可以在 uniqueidentifier 类型(Access中的编号/复制ID )中转换的结果。在这种情况下,您应该在同步之前通过链接服务器由SQL服务器计算校验和。

     SELECT CONVERT(uniqueidentifier, master.sys.fn_repl_hash_binary(@whatever))
    

    在3.和4.有一些方法,如何从SQL Server使用mdb。选择最适合你的。

    • Linked servers(请注意,您需要一个额外的权限,请参阅 sp_configure'Ad Hoc Distributed Queries',1
    • OPENROWSETOPENDATASOURCE
    • 并且,当然,在VB6应用程序中按记录处理记录。可怕的方式。