用delphi怎么实现在数据库名相同,相同的表,相同的字段的情况下,怎么在不同计算机之间进行多个表的数据发送和接收(因为是部分数据,不能使用备份和恢复)
谢谢各位大哥!分不够再加

解决方案 »

  1.   

    应该比较简单吧,比如说insert into db.table select *From db2.table2
      

  2.   

    方法很多啊,如果是sqlserver的话可以利用分布式数据库(数据库可以发布、订阅),然后写调度任务即可实现(语句基本就是上面的,后面加where子句来加条件)
    如果用delphi做程序来做的话,可以通过clientdataset来取出a的数据,全部插入的b中(应该可以,没有具体测试过)
      

  3.   

    /**  导入文本文件  
    EXEC  master..xp_cmdshell  'bcp  "dbname..tablename"  in  c:DT.txt  -c  -Sservername  -Usa  -Ppassword' /**  导出文本文件  
    EXEC  master..xp_cmdshell  'bcp  "dbname..tablename"  out  c:DT.txt  -c  -Sservername  -Usa  -Ppassword' 可以将A机的SQLSERVER数据到处到文本文件中,然后拷贝到B机,使用导入文本文件SQL语句,将文本文件复制到B机的SQLSERVER表中,其间有一个问题是索引问题,如果表中没有索引则覆盖原数据,若有索引且含重复值得话,违反约束,bcp则导入失败,如果加了-h "CHECK_CONSTRAINTS"
    选项则可以检查约束,但是这样又可能插入不了数据,如:
    EXEC master..xp_cmdshell 'bcp  "dbdemo..deptinfo"  in  c:\DeptInfo.txt  -c  -t -S WindowsXP  -U sa -P WindowsXP -h "CHECK_CONSTRAINTS"'怎么只追加不重复的数据而不覆盖已有约束数据??如果一样的索引的数据都一致的话,先删除表中数据再导入倒是可以
      

  4.   

    建立两个不同的联连,然后
    Myado.fieldbyname('fieldget').value:=Youado.fieldbyname('fieldset').value;
      

  5.   

    这个问题属于分布式数据库的范畴;
    你可以看看opendatasource,opendataset,openquery这几个函数的帮助。
      

  6.   

    一、添加远程服务器
    sp_addserver [ @server = ] 'server'
        [ , [ @local = ] 'local' ]
        [ , [ @duplicate_ok = ] 'duplicate_OK' ]sp_addserver 'ACCOUNTS'在第一台运行 Microsoft® SQL Server™ 的服务器上运行下列代码: 
    EXEC sp_addlinkedserver ServerName1, N'SQL Server'
    EXEC sp_addlinkedserver ServerName2
    EXEC sp_configure 'remote access', 1
    RECONFIGURE
    GO停止并重新启动第一台 SQL Server。
    在第二台 SQL Server 上运行下列代码。确保使用 SQL Server 身份验证登录。 
    -- The example shows how to set up access for a login 'sa'
    --  from ServerName1 on ServerName2.
    EXEC sp_addlinkedserver ServerName2, local
    EXEC sp_addlinkedserver ServerName1
    EXEC sp_configure 'remote access', 1
    RECONFIGURE
    GO
    -- Assumes that the login 'sa' in ServerName2 and ServerName1
    --  have the same password.
    EXEC sp_addremotelogin ServerName1, sa, sa
    GO停止并重新启动第二台 SQL Server。
    使用 sa 登录,现在就可以在第一台 SQL Server 上执行第二台 SQL Server 上的存储过程。