征求有关数据库克隆的办法 (50分)

  • 主题发起人 主题发起人 东海小小
  • 开始时间 开始时间

东海小小

Unregistered / Unconfirmed
GUEST, unregistred user!
问题如下,有一个源数据库为oracle构建,另一个为目标数据库(mssql或mysql等),这两个
数据库中有相同的库及表,现在要求定时把源库中对应的表的内容转入目标数据库中。
第一解决办法为:定时提取记录然后写入目标库中,但这样的缺点是:会写很多重复的代码及sql
语句,若库中有100个表,哪岂不要写>=100条sql语句。
请问大家:有没有更简单的通用办法?
 
100条语句也不算难,而且这些语句都一样。

可以把表明放在数组中,
然后用一个循环实现。
 
我和上个老兄的思路一样的,那我就写这个代码吧!
Porcedure UpdateDatabase;
var
TableNameList:TStrings;
i:Integer;
begin
TableNameList:=TStringList.Create;
ADOConnection1.GetTableNames(TableNameList);
for i:=0 to TableNameList.Count-1 do
begin
With AdoQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SQL代码');
ExecSQL;
end;
end;
end;
 
话是这么说。但做起来还真烦。举例说明
select * from database_A_a.Table_a 这样写一百个当然不难,循环搞定
但是,烦在取出结果集后,你要
insert into database_B_a.table_a (field1,field2...fieldn) value (query1.fieldbyname('1').asstring ......query1.fieldbyname('2').asstring))
怎么办,不烦?
再加上如果库中有自动增加的字段,有不用复制过来,而且在字段序的中间有不确定位置,循环
都不方便

楼上两位高手谈谈看法
 
我恨不得给自己加分
 
后退
顶部