请问各位大侠,如何将一个SQL数据库的数据添加到另一个数据库中?两个数据库的结构是相同的。 (200分)

  • 主题发起人 双流星
  • 开始时间

双流星

Unregistered / Unconfirmed
GUEST, unregistred user!
标题:请问各位大侠,如何将一个SQL数据库的数据添加到另一个数据库中?
两个数据库的结构是相同的。

有两个数据库 A、B 。《[red]这两个数据库是没有建立连接的[/red]》[purple]两台单机[/purple][:(]。
A 数据库中的数据是变动的。(每天都会全部清除,而在清除之前要把数据保存下来,
并放至 B 数据库中去,并且 B 数据库是不会清除的)。
如何 A 数据库中的新增的数据,添加至 B 数据库中去。

大家帮帮我,应该怎么做?
 
有两个数据库 A、B 。《这两个数据库是没有建立连接的》是什么意思?
你的A、B两个数据库是在一台服务器上还是分别在两台服器上?
 
用两个Connection,同时打开A、B表,数据一条一条的导。
 
同时打开两个表
insert into TableA(列名列表) select (列名列表) from TableB order by 列名
 
也许我说的不清。
《这两个数据库是没有建立连接的》是A / B 数据是在两个不同的机器上。
这两台机器没有组成网络(可能距离很远)。
而且也不要考虑Internet,(我也想,可现实不允许)
也就是说,不可以直接导数据。而只能将 A 数据库保存为文件。
再拷到 B 数据库所在的机器上,再将 A 文件,添加进 B 数据库。
 
INSERT INTO 数据库A..table1
SELECT *
FROM 数据库B..table1
 
即然你的两个数据库结构都一样,
你可以用两个TDatabase 一个连a库,一个连b 库,然后将a 库中的数据
一条一条往B库里导,
当然也可以用 TBatchmove
 
B SERVER => ACCESS
ACCESS => A SERVER

参考一下
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1291308
 
如果两台计算机可以建立连接,可以采用sql server的DTS包的方式进行;
如果两台计算机无法建立连接,则可以利用ADO的公文包特性,
先将一台计算机上的数据暂时存储在一个活着若干文件中。
再在连接另外一台计算机,将数据导入
 
TO: ncutzcb
如果两台计算机无法建立连接,则可以利用ADO的公文包特性,
先将一台计算机上的数据暂时存储在一个活着若干文件中。
再在连接另外一台计算机,将数据导入
--------------------------------------------------------
这怎么操作?
 
Insert into A.数据表
Select * From B.数据表 C
Where
not exists(Select * From A.数据表 D Where
D.字段1=C.字段1 )
当然两个表结构是一样的,至于关连字段可以选择全部关连。
 
ADo可以存为XML啊,你把更新的记录保存到XML中,ADoTable构件好象有个SAVETOXML,然后
把XML文件复制到另一台机子上,用LoadFormXML即可传送到另外一台机子的数据库中。

李维有本《Delphi 5.X ADO_MTS_COM+高级程序设计篇》说过这个问题,不过他是做远程
瘦客户的例子,你的情况也类似。
 
batchmove qq
 
Thank you!
 
顶部