最近我做了一个小的系统,其中有两个表需要跟公司的ERP系统中的数据保持同步,我用的是Delphi7+sql2000,请问在线的各位高人,有什么好的建议,不胜感激!!

解决方案 »

  1.   

    当然是视图了,从ERP里建立视图出来,你的数据从视图取。这样一直都是一致的
      

  2.   

    从ERP数据库中读取数据我知道,我现在的想法是本地系统开始运行时,就从ERP中的那两个表读取数据来更新本地数据库的两个相同的表。。两个库在不同电脑上,同时两个表的ID字段都设置成了标识,标识递增量为1。我想用ADOConnection跟ADODataSet进行逐条更新时,因为ID设置成了标识的缘故,没有办法插入ID值。但我需要将原表中的ID值复制过来。不知到怎么去实现,或者有什么更好的办法实现????问楼上的朋友!在线等!!!!!
      

  3.   

    每次Load列表时直接执行一个存储过程!
    1.注册ERP数据库服务器
    2.写存储过程Create Proc SynDataFromERP
    As
    Update A
    Set Field1=B.Field1.....
    From Table1 A
    Inner join [192.168.1.2].ERP.dbo.Table1 B
    ON A.ID=B.ID不要用DataSet进行更新,数据量大会很慢
      

  4.   

    就从ERP中的那两个表读取数据来更新本地数据库的两个相同的表,两个库在不同电脑上,同时两个表的ID字段都设置成了标识,标识递增量为1。我想用ADOConnection跟ADODataSet进行逐条更新时,因为ID设置成了标识的缘故,没有办法插入ID值。但我需要将原表中的ID值复制过来。不知到怎么去实现,或者有什么更好的办法实现????问楼上的朋友!在线等!!!!!
    ------
    1:搞这样问题,你可以想一下,打开网页时,网页的页面是你打开的画面,而如果人家网页系统数据在变化,但是你桌面画面没有变化,除非你按‘刷新’才OK,所以,不妨借鉴一下,放一个按忸,如果需要跟新就按一下,
    2:对于数据插入问题,不能单纯理解光插入就OK,如果以前数据在修改或删除,那你的本地数据以前数据没有跟新,,,所以这样的问题除非所有的数据从新跟新一次,
      

  5.   

    to    liangpei2008  
    ---
    Create Proc SynDataFromERP
    As
    Update A
    Set Field1=B.Field1.....
    From Table1 A
    Inner join [192.168.1.2].ERP.dbo.Table1 B
    ON A.ID=B.ID
    ----------------------------------------------------
    就本跟新而言
    服务器ip:192.168.1.2;
    数据库名:erp ;
    表:table
    修改以后的结果
    Create Proc SynDataFromERP
    As
    Update A
    Set a.Field1=B.Field1
    From Table1 A
    Inner join [192.168.1.2].ERP.dbo.Table1 B
    ON A.ID=B.ID
    --抱错
    Could not find server '192.168.1.2' in sysservers. Execute sp_addlinkedserver to add the server to sysservers.//不知道错到那里?请给于解答,,,,
      

  6.   

    复制简介
    Microsoft® SQL Server™ 2000 的复制是在数据库之间对数据和数据库对象进行复制和分发并进行同步以确保其一致性的一组技术。使用复制可以将数据分发到不同位置,通过局域网、使用拨号连接、通过 Internet 分发给远程或移动用户。复制还能够使用户提高应用程序性能,根据数据的使用方式物理分隔数据(例如,将联机事务处理 (OLTP) 和决策支持系统分开),或者跨越多个服务器分布数据库处理。复制的优点
    根据复制的类型和选择的选项,复制提供不同的优点,但是 SQL Server 2000 复制的共同优点在于需要数据时数据随时随地的可用性。其它的优点包括: 可在多个站点保存相同数据的复本。当多个站点需要为报表应用程序读取相同的数据或需要各个独立的服务器时,这一点十分有用。
    从大量读取数据的应用程序(如联机分析处理 (OLAP) 数据库、数据集市或数据仓库)中分离 OLTP 应用程序。
    允许更大的独立性。用户可以在连接断开的情况下继续使用数据的复本,然后在连接恢复时将对数据库所做的更改传播到其它数据库。
    分离出要浏览的数据,如使用基于 Web 的应用程序浏览数据。
    提高聚合读取性能。
    拉近了数据与个人或团体的距离。这有助于减少因多个用户进行数据修改和查询而引起的冲突,因为数据可以通过网络进行分发,所以可以根据不同商业单位或用户的需求对数据进行分区。
    将复制用作自定义备用服务器策略的一部分。复制是备用服务器策略的一种选择。SQL Server 2000 中的其它选择包括日志传送和故障转移群集,它们在服务器失败的情况下提供数据的复本。 
    何时使用复制
    对于在分布式环境中使用支持多种硬件和软件应用程序的公司来说,存储冗余数据是必须的。另外,不同的应用程序对独立性和数据一致性有不同的需求。有下列需求时,复制是分布式数据环境的一种解决方案: 将数据复制或分发至一个或多个站点。
    依照调度方式分发数据复本。
    将数据更改分发到其它服务器上。
    允许多个用户和站点进行更改,然后将数据修改合并到一起,潜在地识别和解决冲突。
    生成需要在联机或脱机环境下使用的数据应用程序。
    生成用户可以浏览大量数据的 Web 应用程序。
    可以有选择地在订阅站点上进行更改,这些站点透明地处于发布服务器的事务控制之下。 
      

  7.   

     to sdzeng 
     楼上的确是sql同步的好处,实在诱惑人,但是,不知道具体怎么操作,,,,,
      

  8.   

    数据库同步的详细步骤及常见问题~
    http://blog.csdn.net/liangpei2008/archive/2006/07/08/893910.aspx
      

  9.   

    To
    WANGXUELLD 
    ----------------------
    您需要先做链接服务器~
      

  10.   

    SQL server联机帮助有专门一个目录
      

  11.   

    谢谢:
      sdzeng ,liangpei2008 ,
      研究一下,