使用SQLLDR导入数据

  这篇笔记是学习《三思笔记之一步一步学ORACLE》时做的例子,只是看书,不自己动作做一下,觉得很简单,但是实际操作一下问题就多多了,先说一下我使用的环境,使用的操作系统是WINXP, ORACLE10.2安装在VM下的RHE5中,由于WINXP和LINUX换行符的不同,让我郁闷了一晚上,第二天早上起来洗个脸就全想明白了。有时候一个问题想不明白,放一放换个心情,换个角度想想可能一下子就解决了。

 

1、建表

create table pet_photo (
    PHOTO_FLAG NUMBER(11),
    PHOTO_ID varchar2 (600),
    USER_ACCOUNT varchar2 (300),
    ALBUM_ID varchar2 (300),
    PHOTO_NAME varchar2 (300),
    PHOTO_PATH varchar2 (600),
    SMALL_IMAGE_PATH varchar2 (600),
    SMALL_IMAGE_FLAG NUMBER(11),
    CREATE_TIME date,
    UPDATE_TIME date    
)

 

 

2、导入数据

> sqlldr 用户名/密码 pet_photo.ctl

 

在导入时间类型数据时要特殊的处理一下,三思在书中没有提到这个,还有一个问题导入日期类型,如果数据为NULL怎么办?我在网上也没找到解决办法,我这里只是将UPDATE_TIME字段全部替换成了sysdate,希望哪找高手帮忙解决一下啊。

 

下面是使用到的文件,全部文件可以到这里下载。

http://download.csdn.net/source/3158268

下一篇将会是实战外部表加载数据

1、pet_photo.ctl

LOAD DATA
INFILE pet_photo.csv
truncate  into table pet_photo
fields terminated by ',' optionally enclosed by '"'
(PHOTO_FLAG,PHOTO_ID,USER_ACCOUNT,ALBUM_ID,PHOTO_NAME,PHOTO_PATH,SMALL_IMAGE_PATH,SMALL_IMAGE_FLAG,CREATE_TIME date "yyyy-mm-dd hh24:mi:ss", UPDATE_TIME sysdate)

 

2、pet_photo.csv

399,"201012220121497764.jpg","ben0133","ben0133_129295208400041274","front","userdata/ben0133","userdata/ben0133/!_201012220121497764.jpg",1,"2010-12-22 01:21:49",NULL
400,"201012220123346049.jpg","ben0133","ben0133_129295208400041274","20085266570155","userdata/ben0133","userdata/ben0133/!_201012220123346049.jpg",1,"2010-12-22 01:23:35",NULL

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值