免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2901 | 回复: 8
打印 上一主题 下一主题

oracle数据导入的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-07 22:30 |只看该作者 |倒序浏览
我在winxp下安装的oracle8.1.6,我按照另一个数据库的monthsale表结构,建了一个相同的表,
现在想把那个数据库中select * from monthsale;得出的monthsale.lst文件导入到我的数据库中,
我写的控制文件叫a.ctl,内容如下:

LOAD DATA
INFILE "d:\data_txt\monthsale.lst"
INTO TABLE store.monthsale
FIELDS TERMINATED BY ' '
(ART_GRP_NO,
ART_GRP_SUB_NO,
SUPPL_NO,
ART_NO,
BUYER_UID,
QTY,
NN_BUY_PRICE,
SELL_PR,
VAT_PERC,
INVOICE_DATE,
AMOUNT,
DISC_AMOUNT,
MMAIL_NO)

我在dos下执行
C:\>;sqlldr userid=store/store@oradb control=d:\data_txt\a.ctl

可是它提示如下就没有了,数据库里也没有内容,请教大家,我应该怎么做

C:\>;sqlldr userid=store/store@oradb control=d:\data_txt\a.ctl

SQL*Loader: Release 8.1.6.0.0 - Production on 星期日 11月 7 22:28:51 2004

(c) Copyright 1999 Oracle Corporation.  All rights reserved.

达到提交点,逻辑记录计数19
达到提交点,逻辑记录计数38
达到提交点,逻辑记录计数57

C:\>;

论坛徽章:
0
2 [报告]
发表于 2004-11-08 11:11 |只看该作者

oracle数据导入的问题

如果没有理解错误你的意思的话,你是在同一数据库用户下建立了一个相同的表结构但是数据库表名称不一致,想把原有数据倒入新建立的表中。解决该问题的方法有两个:
1、安装pl/sql数据库工具,可以将原表中的数据复制出来,再粘贴到你的新表中。
2、我曾经在uinx下的oracle解决了类似的问题,用sqlplus工具连接数据库以后
    sql >; insert into 新表名称 (select  字段1,字段2,。。。。字段n   from  原表名称);
在使用select语句时可以使用where条件;如果数据库原表中存在重复记录可以在(select distinct .......)来筛选唯一记录。
你可以试试,有问题再发帖子。

论坛徽章:
0
3 [报告]
发表于 2004-11-08 13:05 |只看该作者

oracle数据导入的问题

原帖由 "yangdun77" 发表:
如果没有理解错误你的意思的话,你是在同一数据库用户下建立了一个相同的表结构但是数据库表名称不一致,想把原有数据倒入新建立的表中。解决该问题的方法有两个:
1、安装pl/sql数据库工具,可以将原表中的数据复?.........


不是这样的,我是在两个不同的数据库中进行的,并且,两个数据库不能联结,我只能把原数据库的表的内容,存成文本文件,然后到另一个数据库中导入。

论坛徽章:
0
4 [报告]
发表于 2004-11-08 13:28 |只看该作者

oracle数据导入的问题

随便找个第三方工具就可以实现,plsql developer、toad、dbartisan都可以。导出成文本文件就可以,然后用sqlplus或者工具本身都可以导入。

论坛徽章:
0
5 [报告]
发表于 2004-11-08 15:13 |只看该作者

oracle数据导入的问题

我就是想用oracle自身的功能达到目的,不知道有没有好的办法

论坛徽章:
0
6 [报告]
发表于 2004-11-09 08:20 |只看该作者

oracle数据导入的问题

两个数据库都是oracle的话,你试试看用exp倒出原表,再用imp倒入即可。

论坛徽章:
0
7 [报告]
发表于 2004-11-09 08:49 |只看该作者

oracle数据导入的问题

可是dmp文件太大,而且不好压缩,我无法移动,而导出的文本文件1.6G,压缩后,只有,4.6M,我用邮件就可以发走

论坛徽章:
0
8 [报告]
发表于 2004-11-09 10:14 |只看该作者

oracle数据导入的问题

两个数据库之间可以通讯吗?如果可以,可以通过copy
在一个客户端连上两个两个数据库

copy from user/password@service_name to user/password@service_name replace monthsale using select * from monthsale;
其中,service_name是两个库在客户端上的本地服务名,从源copy到目标。

论坛徽章:
0
9 [报告]
发表于 2004-11-09 11:33 |只看该作者

oracle数据导入的问题

原帖由 "fish617" 发表:
两个数据库之间可以通讯吗?如果可以,可以通过copy
在一个客户端连上两个两个数据库

copy from user/password@service_name to user/password@service_name replace monthsale using select * from monthsale;
..........


不能通信,要是能,我就不用文本导入了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP