wp1998 发表于 2003-05-20 11:41

请问如何将oracle中一个表的数据导出成规范的文本文件?

现在可以利用sqlldr可以将规范的文本导入到oracle数据库中
如:
aaaa,aaaa,111,222,333

问题是如何将已经存在的oracle数据表的数据导出成这种规范的文本文件呢??

求解!

thingsfly 发表于 2003-05-20 11:54

请问如何将oracle中一个表的数据导出成规范的文本文件?

使用sqlplus啊,
set head off
spool c:\data.txt
select * from my_table;
spool off

pydwh 发表于 2003-05-20 11:58

请问如何将oracle中一个表的数据导出成规范的文本文件?

---数据文件:yourdata.dat
aaaa,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

wp1998 发表于 2003-05-20 13:26

请问如何将oracle中一个表的数据导出成规范的文本文件?

spool c:\data.txt
select * from my_table;
spool off
以上这种方式可以将数据导出成文本文件,这是知道的,但是我却不能导成指定的规范格式,如aaa,aaa,"aaa",aaa

另外,不知道那位知道使用SQLLDR的时候,对CTL文件和DATA文件的字段要求是怎么样的,最好能有一个SQLLDR的详细说明!
我试的时候好像对于VARCHAR2的字段必须加上",

那位仁兄知道,盼复!

zhf3690 发表于 2003-05-20 13:35

请问如何将oracle中一个表的数据导出成规范的文本文件?

我觉得应该用程序实现,
要知道informix里面的unload也是用程序写的。

dewflower 发表于 2003-05-21 12:15

请问如何将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 ','

you 发表于 2003-05-21 14:30

请问如何将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]
查看完整版本: 请问如何将oracle中一个表的数据导出成规范的文本文件?