有两个结构一摸一样的数据库,现在我想从其中一个的一张表里导出数据,然后导入到另一个库里的同一张表里去。导出时,我操作的界面如下:(两个库 选择的用户名和密码一样)
不好意思,图片插不上
我描述下吧
我选择菜单 工具---导出表 ,导出时选择的都是默认设置,导入时也是为默认设置,但要导入的那张表总是为空。有经验的高手能否指点一下???谢谢
不好意思,图片插不上
我描述下吧
我选择菜单 工具---导出表 ,导出时选择的都是默认设置,导入时也是为默认设置,但要导入的那张表总是为空。有经验的高手能否指点一下???谢谢
最简单的就是select ...for update,即复制原表数据到excel,然后在贴到目的库。(注意在excel中留出第1列,内容为空)
这个方法对于数据量比较少的情况非常方便,可是当数据量大的时候,会很难受。下面说下另一种也比较简单的:exp/imp
导出表:
exp 用户名/密码@连接串名 tables=(表名1,表名2) file=导出文件路径
然后倒入表:
imp 用户名/密码@连接串名 tables=(表名1,表名2) file=倒入文件路径 ignore=y注:exp/imp还可以导出其他数据,可以网上查下,简单易学。当然还有很多其他方法,比如使用rman之类的,但是没那么容易上手。
可以建立数据库连接把这个数据库中的表复制到那个数据库中,
前提是,你在删除数据的那个数据库建立另一个数据库的服务名CREATE PUBLIC DATABASE LINK LK
CONNECTION TO USER_NAME IDENTIFIED BY PWD USING '服务名'CREATE TABLE 表1 AS SELECT * FROM 表2@LK
导出exp U_NAME/PWD@数据库名 file= d:\data\newsmgnt.dmp tables=(table1)
导入imp U_NAME/PWD@数据库名 file=d:\data\newsmgnt.dmp tables=(table1)
还有前面也有人提到使用dblink,然后使用create table ... as select,跟使用exp/imp命令一样,一个个的倒,当表的数量非常多的时候,好麻烦。
我在tools/import tables 填入 从用户(system) 到用户(system);因我登陆两个数据库的用户名和密码都一样。还是选择comm(表空间名)。还有我将 从用户 和到用户都置为空时,也不能导入成功。不知道你说的方法你试过没有???
举个例子吧,表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:难道现在的人都非得把所有的东西喂到口才吃么,还非得要测试过才可以么。
还有前面也有人提到使用dblink,然后使用create table ... as select,跟使用exp/imp命令一样,一个个的倒,
------------------------------------------------------------------------------
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
copy from bod/bodbod@bod to scott/tiger@snzj create tab using select * from empbod,snzj 为在同一机器上的两个服务名
copy from bod/bodbod@bod to scott/tiger@snzj insert tab using select * from emp
1、连接第一个数据库打开一个新SQL窗口查询出需要复制的数据,如select * from test;
选择所有的数据,复制;
2、连接第二个数据库打开一个新SQL窗口select * from test for update;然后使用表格处理编辑模式,粘贴。OK!
exp 用户名/密码@连接串名 tables=(表名1,表名2) file=导出文件路径imp 用户名/密码@连接串名 tables=(表名1,表名2) file=倒入文件路径 ignore=y