如何利用Oracle外部表导入文本文件的数据
1个回答
展开全部
同事最近在忙数据一致性比对工作,需要对不同文本文件中的数据进行比对,有的文件较大,记录较多,如果用普通的文本编辑器打开的话,很显然,会很卡,甚至打不开。
基于此,可将该文本文件的数据导入到数据库中,在集合的层面进行比对。
那么如何将文本文件的数据导入到数据库中呢?在这里,主要利用了Oracle的外部表特性。
Oracle外部表支持两种类型的驱动:一种是ORACLE_LOADER,外部表的数据必须来源于文件文件,另一种则是ORACLE_DATAPUMP,外部表的数据必须是二进制dump文件,该dump文件是先前将Oracle内部表的数据导入到外部表中填充的文件。很显然,Oracle希望将数据保留在数据库内部进行处理。
首先,我们来看一下该文本文件的大小及记录。
[oracle@node2 ~]$ du -sm P_20150626010000_2002371.0003479598
274 P_20150626010000_2002371.0003479598
[oracle@node2 ~]$ wc -l P_20150626010000_2002371.0003479598
2899265 P_20150626010000_2002371.0003479598
从上面的输出可以看出,该文件274M,有2899265条记录。
基于此,可将该文本文件的数据导入到数据库中,在集合的层面进行比对。
那么如何将文本文件的数据导入到数据库中呢?在这里,主要利用了Oracle的外部表特性。
Oracle外部表支持两种类型的驱动:一种是ORACLE_LOADER,外部表的数据必须来源于文件文件,另一种则是ORACLE_DATAPUMP,外部表的数据必须是二进制dump文件,该dump文件是先前将Oracle内部表的数据导入到外部表中填充的文件。很显然,Oracle希望将数据保留在数据库内部进行处理。
首先,我们来看一下该文本文件的大小及记录。
[oracle@node2 ~]$ du -sm P_20150626010000_2002371.0003479598
274 P_20150626010000_2002371.0003479598
[oracle@node2 ~]$ wc -l P_20150626010000_2002371.0003479598
2899265 P_20150626010000_2002371.0003479598
从上面的输出可以看出,该文件274M,有2899265条记录。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询