【IT专家】转载:利用sqluldr2导出数据和sqlldr导入数据的方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
转载:利用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,内容如下:。