sol229 发表于 2018-9-24 13:37:45

使用SQLULDR导出oracle数据为平面文件

  oracle的数据导出的话,只能用exp/expdp。但是这样导出的数据只能恢复到oracle的数据库中,如果想往其他数据库中导的,oracle并没有提供特别优秀的工具。
  如果是数据库量小的话,可以用spool工具导出为txt文件,如果数据量大的话可以用SQLULDR。
  在ANYSQLhttp://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

页: [1]
查看完整版本: 使用SQLULDR导出oracle数据为平面文件