如何将文本文件导入到Oracle数据库中 ?

比如,我有个test.txt文件,现在我想把里面的数据导入到Oracle数据库中的一张表table1中,具体怎么实现?网上查了一下,都说可以用sqllbr可以实现,但具体... 比如,我有个 test.txt 文件,现在我想把里面的数据导入到Oracle数据库中的一张表 table1 中, 具体怎么实现 ? 网上查了一下, 都说可以用sqllbr可以实现,但具体怎么要怎么做
我自己再c盘下写了两个文件,一个是test.ctl ,其内容如下:
Load data
Infile 'c:\事件表.txt'
append into table ccc.事件表 Fields terminated by ' '(log_date,log_time,log_event,log_ms)
log_date,log_time,log_event,log_ms 分别为四个字段
现在可以导入了, 不过又有新问题了,如果一条记录中有字段为空值就导入不了,怎么解决,含有空值的记录也要插入到数据库
展开
 我来答
badkano
2015-12-26 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885365
团长

向TA提问 私信TA
展开全部

将文本文件导入Oracle中需要用sqlloader的方式。

1、在数据库中创建相应的表。

如,文本文件内容为:

create table test
(id int,
name varchar2(10),
sex varchar2(10));

2、在电脑中某路径下编写ctrl文件,以c盘data目录为例,添加如下文本。如,被导入的文件名为load.txt

  load   data   
  infile   'load.txt'  --被导入文件名
  replace into   table   test     
  (id   char   terminated   by   ',',   
  name   char   terminated   by   ',',   
  sex   char   terminated   by   whitespace)

编写后,将文件保存成load.ctrl

3、然后打开命令提示符,并进入到文本文件和ctrl文件所在目录。

4、输入以下语句,并执行。

sqlldr userid=用户名/密码@数据库实例名   control=load.ctl   log=load.log

5、导入后,test表中数据如下:

匿名用户
2010-03-17
展开全部
根据报错信息“ORA-12514:TNS: 监听程序当前无法识别连接描述符中请求的服务”,很明显是@10.20.30.42指定远程服务器出错了,@后面应该是连接远程服务器的Net服务名,而不是IP地址
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我要注册和登录
2010-03-17 · TA获得超过451个赞
知道小有建树答主
回答量:301
采纳率:100%
帮助的人:417万
展开全部
写编写一个ctl文件 保存在如C:/insert.ctl
内容为:
load data infile '你的test.txt的路径'
append into table 表名 --(要事先建好)
fields terminated by ',' --用逗号分隔为例
(field1,
.
.
fieldn) --与列名对应

在cmd中
sqlldr 用户名/密码 control=C:/insert.ctl

上面汉字为提示或需要修改成你具体的情况。

没有远程试过;本地是OK的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式