知识大全 Oracle数据库专享工具:SQL*Loader
Posted 文件
篇首语:努力尽今夕,少年犹可夸。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle数据库专享工具:SQL*Loader相关的知识,希望对你有一定的参考价值。
Oracle数据库专享工具:SQL*Loader 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
SQL*Loader 是Oracle数据库系统提供的一个数据移植工具 它提供了一个命令行的方式 可以让用户成批的向Oracle数据库中装入大量数据 虽然Oracle数据库与SQL Server数据库都提供了图形界面的导入工具 但是 图形界面有一个很大的不足 就是不能够直接给前台程序引用 而命令行的导入模块 则可以直接被前台的应用程序所调用 这也是SQL*Loader之所以成为Oracle数据库系统最通用的工具之一的原因SQL*Loader其具有如下的优势
一是可以直接被前台应用程序调用 如开源的PIERE企业管理应用系统 其就是采用Oracle的数据库系统 在PIERE这个应用系统中 有一项很强大的功能 就是数据导入功能 其不但可以按现有的模板导入数据 而且 用户还可以自定义导入的格式 这对于系统在基础数据导入的时候 非常的有用 但是 其这个功能的开发 确很简单 因为其基本上都是直接调用后台数据库系统中的SQL*Loader模块 命令行模式的导入模块 可以直接被前台的应用程序调用 这是其最大的优势
二是可以从既定文件中大量导入数据 利用SQL*Loader工具 可以从既定文件中 如逗号分隔符文件或者固定宽度的文件 把这些文件中的大量记录按照一定的规则导入到Oracle数据库系统中去 这个导入的效率比图形界面来说 也要高的多
三是可以实现把多个数据文件合并成一个文件 我们都知道 Oracle数据库中 可以把一个数据库应用所需要的数据存放在多个数据文件中 以追求比较高的数据库性能 以及比价高的数据库安全性 但是 有时候 我们也可能需要把这几个数据文件合二为一 此时 就可以采用SQL*Loader工具把它们进行合并
四是修复 分离坏的记录 有时候 我们需要导入的数据跟Oracle数据库系统的数据表可能会存在一些冲突 导致数据导入的失败 如可能需要导入的数据字段太长 超过了数据表的最大长度限制 此时 就会导致数据导入的失败 利用SQL*Loader导入工具 可以把这些不符合规则的记录分离出来 存放在一个独立的文件中 而符合规则的数据 则可以被正常的导入 如此的话 就可以提高数据导入的准确性 下面 我们来看看具体如何使用这个Oracle数据库系统为我们准备的好帮手
一般SQL*Loader模块至少需要两个文件 才可以使用
一是数据文件 数据文件 顾名思义 就是我们需要导入的数据集合 对于Oracle系统来说 其可以支持多个格式的数据文件 如逗号分隔符或者TAB键分隔符或者分号分隔符等文本文件 也支持固定宽度的文本文件等等 不过在实际应用中 用的最多的还是逗号分隔的文本文件
二是控制文件 控制文件其起的作用就是建立数据文件与Oralce数据表字段之间的一一对应关系 简单的说 把数据文件中的某个内容放在Oracle数据表中的那个字段上 这就是控制文件所起的主要作用
另外还有一个文件 也非常有用 叫做坏文件 如果我们在命令行工具中 指定了这个坏文件 则导入过程中 一些导入不成功的记录 则会被保存在这个坏文件中 所以 对于数据库管理员来说 这个文件有时候往往比数据导入日志文件更加的实用 所以 笔者建议 若企业对于数据导入的准确性要求比较高的画 则在使用SQL*Loader导入数据的时候 最好能够指定这个坏文件 这对于我们后续核对导入数据的准确性 具有很大的实用价值
为了更好的使用这个导入工具 笔者有如下建议
在制作数据文件的时候 需要注意原有数据表的限制 也就使说 数据文件中的记录必须符合数据表的一些约束条件 否则 不符合条件的数据将无法被导入 如需要考虑数据类型是否相符 字段长度有没有超过限制 有没有违反主键 外键的约束等等 只有符合这些约束的记录 才能够被成功的导入 否则的话 数据将无法被成功装载 为了避免这种情况 笔者建议再利用这个工具的时候 要指定 坏文件 只有如此 数据库才能够再导入的过程中 把一些失败的记录写到我们指定的文件中 如此 我们就可以通过调整 然后把这些不符合规则的数据也装入到数据库中去
前台应用程序在设计基础数据导入功能的时候 最好直接采用这个模块 因为这个模块跟Oracle数据库集成的比较好 能够最大限度的保障导入数据的准确性 而且 还可以节省很多前台的程序代码 不过有点值得可惜的是 SQL*Loader模块 现在是Oracle数据库独享的应用模块 也就是说 只有在Oracle数据库平台上的应用程序 才可以直接调用 若一个应用程序支持多个数据库平台的时候 则再设计这个数据导入功能的时候 需要注意了 这不像SQL语句那样的通用
在数据导入之前 最好先最好相关的数据备份 无论是采用图形化的数据导入工具 还是采用命令行的数据导入工具 有一个基本的原则 大家必须遵守 就使在成批导入数据之前 必须先作好数据库的备份 如此可以把数据导入错误的影响降至到最低
cha138/Article/program/Oracle/201311/17470相关参考
知识大全 利用SQL*Loader将 Excel 数据导出到 Oracle 数据库中
利用SQL*Loader将Excel数据导出到Oracle数据库中 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
Oracle数据库备份与恢复之二:SQL*Loader 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
OracleSQL*Loader使用指南 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SQL*
知识大全 使用SQL Server*Loader进行数据导入
使用SQLServer*Loader进行数据导入 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
SQL&Loader可把文件中的数据装载到OR 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! S
Oracle--使用Wrap工具加密你的SQL 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! O
知识大全 ORACLE DBA常用SQL脚本工具-管理篇(1)
ORACLEDBA常用SQL脚本工具-管理篇(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
下面的是关于sql*loader的使用的一点总结有些是来自itpub上的一些网友的总结 大部分是oracle专家高级编程上的实例只是我实践以后写的结果 sqlldruserid=lgo
Oracle数据库编程动态SQL 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 动态SQL 编
Oracle数据库PL/SQL介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 什么是PL/S