问题描述:
    由于项目要更新版本,现在要把正使用旧版本系统的数据库数据导入到新版本的数据库里。两个库的表结构有细微差别。
1、用plsql可以实现吗?
2、如果可以,在plsql里如何操作,两个库如何连接?数据导入的sql大概如何写?(库1:fmis1   库2:fmis2  )

解决方案 »

  1.   

    由于两个数据库的表结构有差别,所以要一个表一个表地核对字段写sql导入
      

  2.   

    建议使用exp导出,再用imp导入
    如:
    导出
    c:>exp user1/pass@tnsanme1 file=test.dmp buffer=8192000 log=test.log
    导入
    c:>imp user2/pass@tnsname2 file=test.dmp fromuser=user1 touser=user2 ignore=y log=test1.log
      

  3.   

    sql在哪里写呢?两个库在plsql里如何连接起来呢
      

  4.   

    如果表比较少,可以采用dblink的方法直接连接,然后插入数据
    1.建立dblink
    create public database link link_to_fmis1
      connect to <your_user_name> identified by <your_user_password>
      using <tnsnames中配置的连接串名>;
    2.登录fmis2库并插入数据
    insert into 表1(字段1...) as select 字段... from 表1@link_to_fmis1;
      

  5.   

    用DBLINK吧,使用PL/SQL操作,
    1:建立DBLINK,
    2:赋予表达访问权限,就和本地使用一样了
    3:执行P/SQL操作