oracle的数据导出的话,只能用exp/expdp。但是这样导出的数据只能恢复到oracle的数据库中,如果想往其他数据库中导的,oracle并没有提供特别优秀的工具。
如果是数据库量小的话,可以用spool工具导出为txt文件,如果数据量大的话可以用SQLULDR。
在ANYSQL http://www.anysql.net/上下载SQLULDR软件。
1.直接在命令行输入sqluldr会有帮助信息出现
Usage: SQLULDR2 keyword=value [,keyword=value,...]
Valid Keywords:
user = username/password@tnsname
sql = SQL file name
query = select statement
field = separator string between fields
record = separator string between records
rows = print progress for every given rows (default, 1000000)
file = output file name(default: uldrdata.txt)
log = log file name, prefix with + to append mode
fast = auto tuning the session level parameters(YES)
text = output type (MYSQL, CSV, MYSQLINS, ORACLEINS, FORM, SEARCH).
charset = character set name of the target database.
ncharset= national character set name of the target database.
parfile = read command option from parameter file
for field and record, you can use '0x' to specify hex character code,
\r=0x0d \n=0x0a |=0x7c ,=0x2c, \t=0x09, :=0x3a, #=0x23, "=0x22 '=0x27
2.参数说明
user:输入用户名/密码@连接符
sql和query :sql将要导出的sql保存在文件中,query直接写简单的sql语句
field和record:field列和列之间的分隔符默认是'|',如果要导出为csv可以指定为',',record行与行之间的分割符默认是'\r\n '。
file:导出的目录名
log:日志文件
3.实例
sqluldr2 MCHIS/MCHIS@MCHIS query="select * from sys_dzxx" field=, file=d:/sys_dzxx.csv