Heim  >  Artikel  >  Datenbank  >  Oracle中导入TXT并进行处理

Oracle中导入TXT并进行处理

WBOY
WBOYOriginal
2016-06-07 15:13:571184Durchsuche

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

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

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

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

Oracle中导入TXT并进行处理

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

Oracle中导入TXT并进行处理

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

Oracle中导入TXT并进行处理

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

Oracle中导入TXT并进行处理

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

Oracle中导入TXT并进行处理

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

Oracle中导入TXT并进行处理

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

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

Oracle中导入TXT并进行处理

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

Oracle中导入TXT并进行处理

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

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

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

Oracle中导入TXT并进行处理

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn