利用sqluldr2和sqlldr实现Oracle下快速导出导入及字段包含换行回车的解放方法
官方说法:Sqluldr2(SQL * UnLoader 第二版)是一个灵活与强大的 Oracle 文本导出程序。 可能很多人对它不是很熟悉,虽然是很小的一个工具,但是功能比较完善,所有我都想到的需求,它都能提供。 尤其是支持linux下的管道和返回状态,简直太棒了。 sqluldr2 scott/tiger … file=- | sqlldr control=… 如上所示,在从 Oracle 向 Oracle 迁移数据时,简单高效,切实的解决了用户的痛点。 另外还支持根据条数或者大小分割到处文件。例如每100万条数据存放一个文件或者限制每个文件为1G。 还支持口令加密加密,GZIP压缩,SQL * Loader 的控制文件,针对MySQL特殊优化,简直不能更贴心了。 具体用法大家参考官方文档: http://www.onexsoft.com/software/sqluldr2.pdf 本文旨在解决另外一个问题,在将数据导成文件时,如果字段中包含回车或者换行,就会破坏数据格式,导致数据没法正常导入。 最简单的解决方法就是在查询SQL中将回车换行符替换掉 select replace(replace(column,chr(10),''),chr(15),'') from TABLE_NAME; 但是个人感觉这种方法不是很好,因为你不知道哪些字段可能包含回车和换行