sqlldr的使用

1,在公司进行预处理的时候,发现文件不能入库,而公司前辈使用的是sqlldr的技术将解析后的文件入库,前辈在测试的时候使用的是本机上的数据库(见图一),没有使用完整的远程连接oracle的正确方式,所以导致入库时在生成的日志wenj文件中报出TNS 连接标志错误的异常。

(图一:https://blog.csdn.net/a_222850215/article/details/80001501

2,正确的远程连接oracle数据的方式:

(图二:http://blog.itpub.net/18922393/viewspace-709034/

3,sqlldr的文件:

https://jingyan.baidu.com/article/22fe7ceddf732c3002617f2a.html

4,使用命令的方式

转至:https://blog.csdn.net/mark_lirenhe/article/details/82024775

5,使用java代码的方式

https://blog.csdn.net/u012557814/article/details/67636593

6,在使用sqlldr的过程中出现空格的情况需要注意:

转载下面的:http://blog.sina.com.cn/s/blog_701218960100l0gt.html(感谢,该为xion兄台解决了我的问题)

当我们的input file 有分隔符时,control file 中的 PRESERVE BLANKS 无效,因为 SQLLDR这时是保留空格的,这个时候只能在control file中针对每个字段做trim处理。

当我们的input file 是定长时,  control file 中的 PRESERVE BLANKS 有效,因为 SQLLDR默认是去除空格的,如果不加这个参数,则自动去除空格,加则保留空格入库。

参考:1. Oracle SQL*Loader  -- 英文,Sql Loader 的官方使用说明,包含多种类型的  Demo
        2. sql loader的用法  -- 列出了 sql loader 的选择参数的中文说明
        3. 使用SQL Loader导入大量数据,避免使用SQL频繁写库 -- 一个简单的例子,快带了解 Sql Loader 的用法
        4. Oracle SQL Loader的详细语法
        5. oracle sql loader全攻略 -- 还算名符其实。并讲了如何用 SQL *Plus 的  spool 或 UTL_FILE 包生成数据文件
        6. SQL*Loader Control File Reference   -- 英文,控制文件使用参考
        7. 学习oracle sql loader 的使用 
        8. 用 sqlloader(sqlldr)装载LOB数据  -- LOB 的内类是一个外部文件,用 sql loader 导入到数据库
        9. SQLLDR直 接加载几个参数的测试
        10.Maximizing SQL*Loader Performance

        11.sqlldr的用法详解:https://blog.csdn.net/stafen1/article/details/46785541

原文地址:https://www.cnblogs.com/lirenhe/p/9774446.html