具体情况为:
数据库都是oracle数据库,但表中的字段名字都变了,有些数据项也发生了变化,现在需要将旧系统中的数据导到新的系统中,大家有什么好的办法。最好详细些,小弟对oracle不是很熟悉。多谢帮忙。
我的想法是:
想用delphi做个可视的界面程序,方便用户倒库,请问有什么好的方法么,多谢帮忙!!!
另外,我要是在delphi中实现从将一个表中的数据导入另外一个表当中,具体代码应该如何写?多谢帮忙希望大家多提宝贵意见。

解决方案 »

  1.   

    这样应该很容易做呀,首先用两个ADO控键连接两个ORACLE数据库,
    然后在本地把数据SELECT 出来,
     循环读记录集
       not adoquery.eof 
    然后构造SQL语句
      STR := ‘INSERT INTO TABLE_NAME (COL1C,OL2)VALUES (‘+CHRA(39)+ADOQUERY.['COL5']+CHAR(39)+','ADOQUERY........在另外的ADO连接的数据库执行,不就能写到另外的数据库了吗。
      

  2.   

    这样是不是太慢了啊,能不能用一条sql语句来实现啊另外还需要考虑单引号的替换问题,会影响速度的,数据总量有几百万条,能有更好的方法么
      

  3.   

    泥要做的是一个ETL的过程,即抽取、转换、加载的过程,具体情况要看业务的复杂程度了~要是简单地对几个表进行操作,那么写几个SQL语句即可完成;如果要对整个数据库的大量的表进行操作处理的话,就应当选取适当的工具来完成了~
      

  4.   

    我们在oracle端做了对应新表的视图和存储过程,视图的结构和新的表结构是相同的,包括字段名,我现在要做的就是将这些视图中的数据转到新的数据表当中,要用delpi做个可视化的界面,数据表有很多几百个,请问用delphi怎么做比较好,最好是详细些,有具体代码最好了。如果有其他的方法,也请大家多提宝贵意见!!!!
      

  5.   

    既然这样了,
    你用delphi 发送 insert into new_table select * from yourview ;
    这类语句即可啊!
      

  6.   

    我认为,还是用手工来倒,不要做程序!如果表的数量不多,还是先EXP出来,再IMP。然后,再做相应的处理!这样会比较快。