ORACLE数据导出问题,急用,万分感谢!

nuaawyd 2011-05-25 10:04:06
我现在想把ORACLE中某一用户(比如TT用户)下中的表和试图都导出为TXT文件,我客户端用的是TOAD,用TOAD是可以一个表一个表的导出的,不知是否有批量导出工具?急用,请各位大侠给予帮助!万分感谢!
...全文
159 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
HOME_ning 2011-05-26
  • 打赏
  • 举报
回复
pl/sql developer ----->tools -----> export user object

然后选中你要导出的视图(可以按住shift来多选),导出的事sql文件。跟你说的txt应该也可以。


Output file 是你要导出的位置。


HOME_ning(玩物丧志)
nuaawyd 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yjlhere 的回复:]
上面是一个存储过程,这个表名你可以通过USER_TABLE动态获取。。

可以实现批量导入。。
[/Quote]

怎么通过USER_TABLE动态获取啊?
hanks_gao 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tangren 的回复:]
使用pl/sql developer导出吧,PL/SQL Developer不到20M,安装方便
是居家旅行,IT人员.......(哈哈~不要砸砖...)

菜单->Export User Objects...
[/Quote]

+1
安装PL/SQL Developer也方便啊!
yjlhere 2011-05-25
  • 打赏
  • 举报
回复
上面是一个存储过程,这个表名你可以通过USER_TABLE动态获取。。

可以实现批量导入。。
nuaawyd 2011-05-25
  • 打赏
  • 举报
回复
很惭愧,不知道怎么通过USER_TABLE动态获取,能具体说说吗?

秋雨飘落 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 nuaawyd 的回复:]
这个存储好像只能导出一个表或试图才说
[/Quote]上面是一个存储过程,这个表名你可以通过USER_TABLE动态获取。。

可以实现批量导入。。
tangren 2011-05-25
  • 打赏
  • 举报
回复
使用pl/sql developer导出吧,PL/SQL Developer不到20M,安装方便
是居家旅行,IT人员.......(哈哈~不要砸砖...)

菜单->Export User Objects...
nuaawyd 2011-05-25
  • 打赏
  • 举报
回复
这个存储好像只能导出一个表或试图才说
秋雨飘落 2011-05-25
  • 打赏
  • 举报
回复
上面是一个存储过程,这个表名你可以通过USER_TABLE动态获取。。

可以实现批量导入。。

秋雨飘落 2011-05-25
  • 打赏
  • 举报
回复
利用存储过程将表中数据导出到.txt文件


看昨天论坛里有一个人问的,给写的一个例子,这里边假设表中只有字符型,数值型,日期型数据了,有投机取巧的嫌疑

--*********************************************************************
--***
--***首先以dba或者是其他具有create directory的用户创建directory,然后授权
--***
--*********************************************************************
CREATE OR REPLACE DIRECTORY dir_jiang AS 'd:\oracle';
GRANT read,write ON directory dir_jiang TO scott;

--*********************************************************************
--***
--***执行导出文本文件的存储过程:p_exp
--***p_tname:要导出的表明;p_query:where条件,根据这个条件导出,如果为null,则全表导出
--***
--***
--*********************************************************************
create or replace procedure p_exp(p_tname varchar2,p_query varchar2)
as
v_line varchar2(2000); --记录的数据
v_sql varchar2(2000); --动态sql变量
v_fname varchar2(40); --导出数据的文件名字
cursor cursor_column --游标:通过数据字典查找出表有哪些字段
is select column_name,data_type
from user_tab_columns where table_name=upper(p_tname);
type type_cursor is ref cursor ;
mycursor type_cursor;
outf utl_file.file_type;

begin
v_fname:=p_tname||'.txt';
for col in cursor_column loop
if col.data_type='DATE' then
v_sql:=v_sql||'to_char('||col.column_name||',''yyyy-mm-dd-hh24:mi:ss'')'||'||chr(9)||';
else
v_sql:=v_sql||col.column_name||'||chr(9)||';
end if;
end loop;
v_sql:=rtrim(v_sql,'||chr(9)||');
v_sql:='select '||v_sql||' from '||p_tname||' '||p_query;
dbms_output.put_line(v_sql);
outf:=utl_file.fopen('DIR_JIANG',v_fname,'w');
open mycursor for v_sql;
loop
fetch mycursor into v_line;
exit when mycursor%notfound;
utl_file.put_line(outf,v_line);
end loop;
utl_file.fclose(outf);
dbms_output.put_line('导出成功');
end;

nuaawyd 2011-05-25
  • 打赏
  • 举报
回复
大侠,什么工具呢?
秋雨飘落 2011-05-25
  • 打赏
  • 举报
回复
这个需要借助第三方工具楽

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧