Heim >Datenbank >MySQL-Tutorial >Oracle数据库专享工具:SQL*Loader介绍

Oracle数据库专享工具:SQL*Loader介绍

WBOY
WBOYOriginal
2016-06-07 16:53:20944Durchsuche

SQL*Loader,是Oracle数据库系统提供的一个数据移植工具,它提供了一个命令行的方式,可以让用户成批的向Oracle数据库中装入大量

  SQL*Loader,是Oracle数据库系统提供的一个数据移植工具,它提供了一个命令行的方式,,可以让用户成批的向Oracle数据库中装入大量数据。虽然Oracle数据库与SQL Server数据库都提供了图形界面的导入工具,但是,图形界面有一个很大的不足,就是不能够直接给前台程序引用。而命令行的导入模块,则可以直接被前台的应用程序所调用,这也是SQL*Loader之所以成为Oracle数据库系统最通用的工具之一的原因。 

  SQL*Loader其具有如下的优势

  一是可以直接被前台应用程序调用。如开源的COMPIERE企业管理应用系统,其就是采用Oracle的数据库系统。在COMPIERE这个应用系统中,有一项很强大的功能,就是数据导入功能。其不但可以按现有的模板导入数据,而且,用户还可以自定义导入的格式。这对于系统在基础数据导入的时候,非常的有用。 但是,其这个功能的开发,确很简单,因为其基本上都是直接调用后台数据库系统中的SQL*Loader模块。命令行模式的导入模块,可以直接被前台的应用程序调用,这是其最大的优势。

  二是可以从既定文件中大量导入数据。利用SQL*Loader工具,可以从既定文件中,如逗号分隔符文件或者固定宽度的文件,把这些文件中的大量记录按照一定的规则导入到Oracle数据库系统中去。这个导入的效率比图形界面来说,也要高的多。

  三是可以实现把多个数据文件合并成一个文件。我们都知道,Oracle数据库中,可以把一个数据库应用所需要的数据存放在多个数据文件中,以追求比较高的数据库性能,以及比价高的数据库安全性。但是,有时候,我们也可能需要把这几个数据文件合二为一,此时,就可以采用SQL*Loader工具把它们进行合并。

  四是修复、分离坏的记录。有时候,我们需要导入的数据跟Oracle数据库系统的数据表可能会存在一些冲突,导致数据导入的失败。如可能需要导入的数据字段太长,超过了数据表的最大长度限制,此时,就会导致数据导入的失败。利用SQL*Loader导入工具,可以把这些不符合规则的记录分离出来,存放在一个独立的文件中。而符合规则的数据,则可以被正常的导入。如此的话,就可以提高数据导入的准确性。

下面,我们来看看具体如何使用这个Oracle数据库系统为我们准备的好帮手。

  一般SQL*Loader模块至少需要两个文件,才可以使用

  一是数据文件。数据文件,顾名思义,就是我们需要导入的数据集合。对于Oracle系统来说,其可以支持多个格式的数据文件,如逗号分隔符或者TAB键分隔符或者分号分隔符等文本文件,也支持固定宽度的文本文件等等。不过在实际应用中,用的最多的还是逗号分隔的文本文件。

  二是控制文件。控制文件其起的作用就是建立数据文件与Oralce数据表字段之间的一一对应关系。简单的说,把数据文件中的某个内容放在Oracle数据表中的那个字段上,这就是控制文件所起的主要作用。

  另外还有一个文件,也非常有用,叫做坏文件。如果我们在命令行工具中,指定了这个坏文件,则导入过程中,一些导入不成功的记录,则会被保存在这个坏文件中。所以,对于数据库管理员来说,这个文件有时候往往比数据导入日志文件更加的实用。所以,笔者建议,若企业对于数据导入的准确性要求比较高的画,则在使用SQL*Loader导入数据的时候,最好能够指定这个坏文件。这对于我们后续核对导入数据的准确性,具有很大的实用价值。

linux

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