现在要把原先在ACCESS中的数据库迁移到ORACLE中,数据库指标体系完全不同。最初用ADO方式,一面连ACCESS,一面连ORACLE方式进行数据迁移,发现这样操作速度十分慢,每秒不到10条记录。而原先数据就有几十万条,程序效率不高。
请问有什么方法,用程序方式快速的迁移到ORACLE中?
谢谢。
请问有什么方法,用程序方式快速的迁移到ORACLE中?
谢谢。
解决方案 »
- delphi中如何把后生成的 Timage 放在先生成的Timage 下面
- 定义的函数不能用,为何呢,请指教
- query1.ParamByName('P1').asstring:=DATETIMEPICKER1.DATE; 怎么写才正确
- 新改版了, 我的有问题.
- 怎么实现BDE的数据库 修改
- 如何用语句将一个文本文件1.txt的属性设为隐藏?
- 想做个168高考查分一样的系统.
- 怎么解决数据库路径问题---实现无论把文件装在哪个目录下都可以运行?
- dbgrid中选中一个记录,怎么返回哪个记录的相应字段的内容阿?比如选中id为2的记录,怎么把2返回阿?
- 如何动态连接Access数据库
- 诸位大虾早上好:我在TREEVIEW做了一个POPUP菜单,有新增、删除、重命名,新增、删除我都做到了,重命名就不会了。。。
- 静态调用AVICAP32.dll时出现无法定位程序输入点CapCreateCaptureWindowA到链接库上的问题!请高手帮忙!
数据要转换,也可以生成SQL角本的,在sqlplus中执行insert角本要比程序中快
procedure TForm1.Button1Click(Sender: TObject);
var
id:string;
username:string;
data:TStringList;
begin
data:=TStringList.Create;
with ADOQuery1 do
begin
SQL.Text:='select * from users';
Open;
while not eof do
begin
id:=FieldByName('id').AsString;
username:=FieldByName('username').AsString;
//这里可对id,username作数据转换处理
data.Add(Format('insert into o_users(o_id,o_username) values(''%s'',''%s'');',[id,username]));
next;
end;
Close;
end;
data.Add('commit;'); //如果数据量大,可分段提交
data.SaveToFile('d:\users.sql');
data.Free;
end;
最后,用oracle的sqlplus执行d:\users.sql角本就可以了