将文本文件导入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表中数据如下:
根据报错信息“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的。