在Oracle数据库的工作中我们常会遇到把TXT文件导入到Oracle里进行问题处理,只有这样才可以对TXT里的数据进行分析与处理。下面就时将完整的导入以及处理方法列出,以供大家分享。
当做参照吧。大多来自其他部门的数据都是以.xls形式存在的,首先我们需要将其中的列数据进行处理,存入TXT中。
可以直接将这列数据复制到Notepad++之类的文本编辑器中,这样的目的是为了防止产生DOS下的换行符的存在,否则在导入Oracle数据库的时候不会成功。复制进来的这列数据的最后一行总会是空行,需要将其删除。
生成一个TXT文件,我们生成的是1.txt。现在将1.txt通过FTP上传到Linux你所使用的脚本目录下,以方便我们的导入。
在导入的时候我们需要使用两个程序,一个是导入脚本daoru.sh一个是导入控制文件daoru.ctl。Oracle导入脚本文件的全部程序,我们导入的列只有一个,所以只需要建立一列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环境下执行的语句。
catexp_imp_report.list|sed's/|/\t/g'>1.xls