当前位置:文档之家› 【IT专家】转载:利用sqluldr2导出数据和sqlldr导入数据的方法

【IT专家】转载:利用sqluldr2导出数据和sqlldr导入数据的方法

转载:利用 sqluldr2 导出数据和 sqlldr 导入数据的方法

Oracle 数据导出工具 sqluldr2 可以将数据以 csv、txt 等文件格式导出,适用于

大批量数据的导出,导出速度非常快,导出后可以使用 Oracle SQL Loader 工具将数

据导入到数据库中。下面将介绍 Sqluldr2 和 sqlldr 在 Windows 平台下的数据处理过

程。 当集成 sqluldr2 在脚本中时,就希望屏蔽上不输出这些信息,但又希望这些信

息能保留,这时可以用“LOG”选项来指定日志文件名。

sqluldr2test/test@127.0.1.1/orcl sql=test_sql.sql head=yes file=d:\tmp001.csv

log=+d:\tmp001.log 当使用 table 参数时,在目录下会生成对应的 ctl 控制文件,如

下语句会生成 temp_001_sqlldr.ctl 文件。 sqluldr2test/test@127.0.1.1/orcl

query=“select * from temp_001” table=temp_001 head=yes file=d:\tmp001.csv 在指定分

隔符时,可以用字符的 ASCII 代码(0xXX,大写的 XX 为 16 进制的 ASCII 码值)

来指定一个字符,常用的字符的 ASCII 代码如下: 在选择分隔符时,一定不能选

择会在字段值中出现的字符组合,如常见的单词等,很多次导入时报错,回过头来

找原因时,都发现是因为分隔符出现在字段值中了。 characterset :字符集, 一般

使用字符集 AL32UTF8,如果出现中文字符集乱码时,改成 ZHS16GBK。 fields

terminatedby ‘string’:文本列分隔符。当为 tab 键时,改成’\t’,或者 X’09’;空格分

隔符 whitespace,换行分隔符 ‘\n’ 或者 X’0A’;回车分隔符 ‘\r’ 或者 X’0D’;默

认为’\t’。 optionally enclosed by ‘char’:字段包括符。当为 ‘ ‘ 时,不把字段包括在

任何引号符号中;当为 “‘“ 时,字段包括在单引号中;当为’”‘时,字段在包括双引

号中;默认不使用引用符。 sqlldrtest/test@127.0.1.1/orcl data=d:\tmp_insert.txt

control=d:\tmp_insert01.ctl log=d:\tmp_insert01.log bad=d:\tmp_insert01.bad 注意:在

数据导入数据库表后,查询表数据时,会发现最后一个字段的数据中含有类似空格

的字符,其实不是空格,是回车换行符,通过 replace 函数将其替换掉即可,如下红

色部分处理 6、常见错误示例 SQL*Loader-601: For INSERT option, table must be

empty.这时需要,更改为追加(append)方式加载数据。创建控制文件

tmp_insert01.ctl,内容如下:

相关主题