有两个结构一摸一样的数据库,现在我想从其中一个的一张表里导出数据,然后导入到另一个库里的同一张表里去。导出时,我操作的界面如下:(两个库 选择的用户名和密码一样)
不好意思,图片插不上
我描述下吧
我选择菜单 工具---导出表 ,导出时选择的都是默认设置,导入时也是为默认设置,但要导入的那张表总是为空。有经验的高手能否指点一下???谢谢

解决方案 »

  1.   

    楼主的结贴率先回答你的标题内容吧,使用pl/sql
    最简单的就是select ...for update,即复制原表数据到excel,然后在贴到目的库。(注意在excel中留出第1列,内容为空)
    这个方法对于数据量比较少的情况非常方便,可是当数据量大的时候,会很难受。下面说下另一种也比较简单的:exp/imp
    导出表:
    exp 用户名/密码@连接串名 tables=(表名1,表名2) file=导出文件路径
    然后倒入表:
    imp 用户名/密码@连接串名 tables=(表名1,表名2) file=倒入文件路径 ignore=y注:exp/imp还可以导出其他数据,可以网上查下,简单易学。当然还有很多其他方法,比如使用rman之类的,但是没那么容易上手。
      

  2.   

    用PL/SQL可以导出SQL,就是默认导出那个窗口上选择第二个TAB,然后在你要导入的数据库运行SQL就好了
      

  3.   

    请问:你的两个数据库是在同一个机子上吗,如果这样的话,
    可以建立数据库连接把这个数据库中的表复制到那个数据库中,
    前提是,你在删除数据的那个数据库建立另一个数据库的服务名CREATE PUBLIC DATABASE LINK LK 
    CONNECTION TO USER_NAME IDENTIFIED  BY PWD USING '服务名'CREATE TABLE 表1 AS SELECT * FROM 表2@LK
      

  4.   

    不妨把那个表删除,用命令导出再导入
     导出exp U_NAME/PWD@数据库名 file= d:\data\newsmgnt.dmp tables=(table1) 
     导入imp U_NAME/PWD@数据库名  file=d:\data\newsmgnt.dmp tables=(table1) 
      

  5.   

    我总共发了4个帖子,说实话没有得到答案。故都悬而未决。我就想问,我倒出来的dmp文件现在能否倒到同一张表里。注:两个数据库是不在同一台机器上
      

  6.   

    可以的,前提是导入命令参数有ignore=y
    还有前面也有人提到使用dblink,然后使用create table ... as select,跟使用exp/imp命令一样,一个个的倒,当表的数量非常多的时候,好麻烦。
      

  7.   

    可以的,选择tools/import tables ,选择导出用户名,要导入的用户名,,如果要导入的数据库中有同样的表,先DROP掉
      

  8.   

    楼主建个dblink,然后直接用merge into试试看。
      

  9.   


    我在tools/import tables 填入 从用户(system) 到用户(system);因我登陆两个数据库的用户名和密码都一样。还是选择comm(表空间名)。还有我将 从用户 和到用户都置为空时,也不能导入成功。不知道你说的方法你试过没有???
      

  10.   

    ps/sql工具最终还是通过exp/imp导入导出的
    举个例子吧,表test从数据库AA的用户userA导入到数据库BB 的用户userB
    (AA和BB表示数据库连接串)
    exp userA/密码@AA tables=test file=c:\exp1.dum log=c:\explog.log
    然后
    imp userB/密码@BB tables=test file=c:\exp1.dum log=c:\implog.logPS:难道现在的人都非得把所有的东西喂到口才吃么,还非得要测试过才可以么。
      

  11.   

    可以的,前提是导入命令参数有ignore=y 
    还有前面也有人提到使用dblink,然后使用create table ... as select,跟使用exp/imp命令一样,一个个的倒,
      

  12.   

    该结贴了...
    ------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716
      

  13.   

    是不是导出的权限是DBA,导入的权限不是DBA的原因;说白了就是权限不一样的原因
      

  14.   


    copy from bod/bodbod@bod to scott/tiger@snzj create tab using select * from empbod,snzj 为在同一机器上的两个服务名
      

  15.   


    copy from bod/bodbod@bod to scott/tiger@snzj insert tab using select * from emp
      

  16.   

    建议你使用plsql developer进行导入导出操作 选择.sql文件的方式 
      

  17.   

    最简的办法是在plsql developer时进行copy and paste就行了
    1、连接第一个数据库打开一个新SQL窗口查询出需要复制的数据,如select * from test;
    选择所有的数据,复制;
    2、连接第二个数据库打开一个新SQL窗口select * from test for update;然后使用表格处理编辑模式,粘贴。OK!
      

  18.   


    exp 用户名/密码@连接串名 tables=(表名1,表名2) file=导出文件路径imp 用户名/密码@连接串名 tables=(表名1,表名2) file=倒入文件路径 ignore=y
      

  19.   

    我试过了没用报无较sql语句。
      

  20.   

    我试过了没用报无较sql语句。
      

  21.   

    将其中一个选项‘delete recodes’前面的勾去掉就行了,如果是汉化版的话估计叫‘删除记录’