如何将文本文件导入到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 分别为四个字段
现在可以导入了, 不过又有新问题了,如果一条记录中有字段为空值就导入不了,怎么解决,含有空值的记录也要插入到数据库 展开
我自己再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 分别为四个字段
现在可以导入了, 不过又有新问题了,如果一条记录中有字段为空值就导入不了,怎么解决,含有空值的记录也要插入到数据库 展开
3个回答
展开全部
将文本文件导入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地址
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写编写一个ctl文件 保存在如C:/insert.ctl
内容为:
load data infile '你的test.txt的路径'
append into table 表名 --(要事先建好)
fields terminated by ',' --用逗号分隔为例
(field1,
.
.
fieldn) --与列名对应
在cmd中
sqlldr 用户名/密码 control=C:/insert.ctl
上面汉字为提示或需要修改成你具体的情况。
没有远程试过;本地是OK的。
内容为:
load data infile '你的test.txt的路径'
append into table 表名 --(要事先建好)
fields terminated by ',' --用逗号分隔为例
(field1,
.
.
fieldn) --与列名对应
在cmd中
sqlldr 用户名/密码 control=C:/insert.ctl
上面汉字为提示或需要修改成你具体的情况。
没有远程试过;本地是OK的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询