最近需要做java导出数据,由于考虑到数据量大速度慢的问题,所以决定采用sqluldr2做为导出工具。
1、首先做本地调试:
windows:
需要安装oracle客户端,然后把sqluldr2.exe拷贝到oracle的客户端目录下。我的目录C:\Program Files (x86)\Oracle\odac_client。
sqluldr2 user=name/pass@localhost:1521/orcl query="select * from table" head=yes file="D:\sales\sqluldr\file.csv" log=+"D:\sales\sqluldr\log.txt" escape='\' escf=0x0a esct=n
Linux:
同样需要安装oracle客户端,instantclient-basic-linux.x64-11.2.0.4.0.zip 安装此包即可。
sqluldr2_linux64_10204.bin user=test/"test"@ip:1521/orcl query="select * from table" head=yes file="/home/ctt-eoms/sqlldr/table.csv" log=+/home/ctt-eoms/sqlldr/log.txt escape='\' escf=0x0a esct=n
2、java调用方式
我采用的是java生成sql文件,然后生成bat、sh脚本,最后用java调用脚本生成文件的方式
中途遇到问题:
密码中包含@字符,没有找到解决办法。如果各位同僚已解决,麻烦私信我!