当前位置:Gxlcms > mysql > Oracle中导入TXT并进行处理

Oracle中导入TXT并进行处理

时间:2021-07-01 10:21:17 帮助过:25人阅读

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 Oracle数据库工作中常会遇到将TXT文件导入到Oracle中进行处理的问题,这样可以对TXT中数据进行分析处理。下面就将完整的导入及处理方法列出,当做参照吧。 大多来自其他部门的数据都是以.xls形式存

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

Oracle数据库工作中常会遇到将TXT文件导入到Oracle中进行处理的问题,这样可以对TXT中数据进行分析处理。下面就将完整的导入及处理方法列出,当做参照吧。

大多来自其他部门的数据都是以.xls形式存在的,首先我们需要将其中的列数据进行处理,存入TXT中。

可以直接将这列数据复制到Notepad++之类的文本编辑器中,这样的目的是为了防止产生DOS下的换行符的存在,否则在导入Oracle数据库的时候不会成功。

复制进来的这列数据的最后一行总会是空行,需要将其删除。

生成一个TXT文件,我们生成的是1.txt。

现在将1.txt通过FTP上传到Linux你所使用的脚本目录下,以方便我们的导入。

在导入的时候我们需要使用两个程序,一个是导入脚本daoru.sh一个是导入控制文件daoru.ctl。上图为导入脚本文件的全部程序,我们导入的列只有一个,所以只需要建立一列TABLE PHONE_NO,就可满足我们的需求,若是列数更多,可以自行添加。

上图为控制文件daoru.ctl。我们需要做的是执行daoru.sh脚本,以生成临时表hh_tmp1,并插入一列PHONE_NO char(11)的字段,手机号码为11位,我们取char(11)即可。

执行之后,很快,我们的1.txt文件已经导入到了数据库的临时表hh_tmp1中,由于在daoru.sh脚本中,我们已经对导入的数据进行了剔除重复的操作,所以下面只要按照我们的需要来提取出来我们想要的数据即可。

我们使用的是PLSQL Developer,PLSQL Developer所登录的数据库用户必须与你在脚本中所使用的数据库用户一致,通过于原有数据库表进行连接,以实现获取我们所需要的数据。

提取出两列分别为PHONE_NO,BELONG_CODE,其中BELONG_CODE升序排列,以区分来自区域。

还有一句就是想把1.txt转换为excel格式,然后在windows打开。但是在linux环境下执行的语句。

cat exp_imp_report.list|sed 's/|/\t/g' >1.xls

人气教程排行