请问如何将oracle中一个表的数据导出成规范的文本文件?
现在可以利用sqlldr可以将规范的文本导入到oracle数据库中如:
aaaa,aaaa,111,222,333
问题是如何将已经存在的oracle数据表的数据导出成这种规范的文本文件呢??
求解!
请问如何将oracle中一个表的数据导出成规范的文本文件?
使用sqlplus啊,set head off
spool c:\data.txt
select * from my_table;
spool off
请问如何将oracle中一个表的数据导出成规范的文本文件?
---数据文件:yourdata.dataaaa,aaaa,111,222,333 ,
bbbb,bbbb,222,333,444,
---控制文件:yourdata.ctl
load data
replace
into table table_name
fields terminated by ","
(字段一,字段二,字段三,字段四,字段五)
---执行导入
sqlldr user/password control=yourdata.ctl data=yourdata.dat
请问如何将oracle中一个表的数据导出成规范的文本文件?
spool c:\data.txtselect * from my_table;
spool off
以上这种方式可以将数据导出成文本文件,这是知道的,但是我却不能导成指定的规范格式,如aaa,aaa,"aaa",aaa
另外,不知道那位知道使用SQLLDR的时候,对CTL文件和DATA文件的字段要求是怎么样的,最好能有一个SQLLDR的详细说明!
我试的时候好像对于VARCHAR2的字段必须加上",
那位仁兄知道,盼复!
请问如何将oracle中一个表的数据导出成规范的文本文件?
我觉得应该用程序实现,要知道informix里面的unload也是用程序写的。
请问如何将oracle中一个表的数据导出成规范的文本文件?
spool is ok, but need to be added:set echo off
set verify off
set heading off
set time off
set linesize 9999
-- separate column by ,
set colsep ','
请问如何将oracle中一个表的数据导出成规范的文本文件?
以文本形式下载表数据oracle缺乏将表中数据输出至文本文件的工具,因此只能利用sqlplus和unix工具做变通的处理
sqlplus –s dbuser/pwd <<EOF >;/dev/null
set colsep |;
set echo off;
set feedback off;
set heading off;
set pagesize 0;
set linesize 1000;
set numwidth 12;
set termout off;
set trimout on;
set trimspool on;
spool tmp.txt;
select * from emp;
spool off;
exit
EOF
tr –d ‘ ‘ < tmp.txt >;emp.txt删除空格,可选
注意:一定要用spool,如果在命令行中直接用>;tmp.txt可能会造成数据缺失,至少在Unixware7上如此
假定某域是char(n),如中间出现回车\n,则下载出的这条记录的格式将会错乱,不宜采用此方法
页:
[1]