当前位置:首页 » 编程软件 » oracle脚本导出数据

oracle脚本导出数据

发布时间: 2022-02-17 13:07:41

A. 怎么在oracle下写一个脚本,导出表数据为EXCEL格式文件

无法直接保存到excel中,但是可以保存到csv文件,同样是excel的格式,方法如下:
譬如要把文件生成在d盘下的test目录下:
1,在d盘根目录下新建test目录
2,sqlplus以system用sysdba登录
3,create or replace directory TMP as ’d:\test’;
4,grant read on directory TMP to user;
5,alter system set utl_file_dir='d:\test' scope=spfile;
然后建立存储过程,表是随便建了一个,最后的文件名按要求需要按照当前日期的前一天生成,所以后边文件名的地方write_file_name处就按照要求来了
create or replace PROCEDURE SP_OUTPUT
(
on_flag OUT NUMBER,
out_reason OUT VARCHAR2)
is
v_code number;
v_text varchar2(255);

file_handle utl_file.file_type;
Write_content VARCHAR2(1024);
Write_file_name VARCHAR2(50);
v_aaa varchar2(5);
v_bbb varchar2(5);

cursor cur_sp_out
is
select aaa,bbb
from aaa;
begin
open cur_sp_out;
loop
fetch cur_sp_out into v_aaa,v_bbb;
exit when cur_sp_out%notfound;
write_file_name := to_char(SYSDATE,'YYYYMMDD')||'.xls';
file_handle := utl_file.fopen('TMP',write_file_name,'a');
write_content := v_aaa||' '||v_bbb;
--write file
IF utl_file.is_open(file_handle) THEN
utl_file.put_line(file_handle,write_content);
END IF;
--close file
utl_file.fclose(file_handle);
end loop;
close cur_sp_out;

v_code := 0;
v_text := '完成';
exception
when others then
on_flag := SQLCODE;
out_reason := SQLERRM;
begin
IF utl_file.is_open(file_handle) THEN
utl_file.fclose(file_handle);
end IF;
end;
rollback;
end;

这样基本就完成了,但是建立完毕后需要重启数据库,否则文件写不进指定的目录下

需要注意的是: write_content := v_aaa||' '||v_bbb; 这个位置

v_aaa|| 和v_bbb中间引号的地方是TAB符,否则输出来的XLS文件中,会把这些字符串合在一个单元格中。

B. oracle数据库如何导出整个数据库脚本,用于备份数据库

首先按full方式做exp导出(为了加快速度可以设置rows=no),然后做imp导入这里注意设置个indexfile=xxx.txt 参数这样就能将你创建所有对象的脚本输出到xxx.txt文件里了。当然了你可以使用工具如:toad,会有导出script的选项更方便点。

C. 如何将Oracle表里的数据导出成insert into脚本

用plsql导出就行

1、登录后,依次点击,工具—导出表

2、然后选择“SQL插入”,上边摁ctrl选择表,选好路径,点导出就行了

D. 怎样将Oracle中的数据导出成SQL脚本

方法/步骤
首先,打开PL/SQL Developer,选中要生成SQL的表。
鼠标点击右键—>“Export data”,会弹出“Export Tables”对话框。选中第二个页签“SQL Inserts”,根据自己的需要设置导出条件即可。比如我需要创建表的SQL,则选中如下所示的选项,再选择“Output file”输出到文件,点击按钮“Export”,即可导出。
也可以选择插入数据的SQL脚本,大家按需所选即可。

E. Oracle使用expdp方式导出 如何编写一个BAT的脚本,使数据库的备份文件可以根据日期备份

楼主:供参考
利用任务计划、批处理文件和oracle的exp导出功能,可以根据日期自动生成oracle备份文件,大大方便了oracle数据备份。
建议一(做周备份并压缩为rar)以下为oracle 自动备份批处理文件内容,请配合任务计划实现 :
例:
@ECHO off
SET backPATH=d:\
ECHO 准备备份数据库
REM 7天一个循环
IF EXIST %backPATH%\one goto one
IF EXIST %backPATH%\TWO goto TWO
IF EXIST %backPATH%\THREE goto THREE
IF EXIST %backPATH%\four goto four
IF EXIST %backPATH%\FIVE goto FIVE
IF EXIST %backPATH%\SIX goto SIX
IF EXIST %backPATH%\SEVEN goto SEVEN
ECHO E > %backPATH%\one

F. 如何将oracle数据库实例 导出到sql脚本

如果是一个表 可以先查询,然后在界面结果右击直接导出sql;
要是整个数据库 就得用tools了

G. 写个shell脚本连接oracle数据库查询某表数据导出为txt文件,再发送到第三

1、简单的单列
#!/bin/sh
sqlplus 'user001/12345678'<< EOF
set define off
set hea off
spool vip1.txt
select username from ACCOUNT where LEVEL=7;
spool off
quit;
EOF
sed -i 's/[ ]*//g' ~/vip1.txt
sed -i '/^$/d' ~/vip1.txt
sed -i '1d' ~/vip1.txt
sed -i '$d' ~/vip1.txt
scp -P22 ~/vip1.txt [email protected]:/root
2、复杂的多列
#!/bin/sh
cid=$1;
today=`date +%Y-%m-%d-%H.%M`
ym=`date +%Y%m`
ymd=`date -d -1days +%Y%m%d`
last_ym=`date -d last-month +%Y%m`
next_ym=`date -d next-month +%Y%m`
file=chat_recorder_${cid}_20140707-11.xls

if [[ $1 == '' ]];then
echo "Usage: $0 company_id "
exit 0;
fi
sqlplus 'user002/12345678' << EOF
set linesize 200
set term off verify off feedback off pagesize 999
set markup html on entmap ON spool on preformat off
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
spool ${file}
select a.*,b.* from recorder_${ym} a,t_${ym} b where a.company_id='$cid' and a.create_time between TO_DATE('2014-07-07 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and TO_DATE('2014-07-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and a.chat_id=b.chat_id order by b.chat_id ;
spool off
quit;
EOF
sed -i '/select/d' $file
zip -r ${file}.zip $file
scp -P22 ${file}.zip [email protected]:/opt

H. 如何导出一个oracle数据库的所有用户的Sql脚本

需要用到exp命令。
1、首先按键盘的win键+R键,输入cmd,回车,进入命令提示符。

2、 使用cd命令进入要存放文件的路径下。

3、输入exp命令,“exp 用户名/密码@本地实例名 file=导出文件名称.dmp log=生成日志名称.log owner=用户名”(不含引号),如图:

其中:owner=用户名 就是被导出的用户下的全部内容。

I. 你好,我想写个shell脚本连接oracle服务器查询某表数据并且导出到txt文本

使用shell调用sqlplus来执行sql语句,导出到文件可以通过spool命令指定文件,我从自己曾经写的脚本截取一段给你示例吧,如果你熟悉shell编写的话,很容易改造成自己需要的
参数1-6分别是表名,oracle用户名,oracle密码,oracle服务器ip地址,oracle服务器端口,oracle服务器的服务名(如果不确定联系DB管理员)

T_NAME=$1

USERID=$2
PASSWD=$3
IP=$4
PORT=$5
SERVICENAME=$6
DB_LINK_STR=$USERID/$PASSWD@$IP:$PORT/$SERVICENAME
sqlplus -S $DB_LINK_STR<<EOF
set HEADING OFF
SET ECHO OFF
SET FEEDBACK OFF
SET TERMOUT OFF
SET LINESIZE 1000
SET TRIMSPOOL ON
spool temp.out
select COLUMN_NAME||' '||DATA_TYPE||' '||DATA_LENGTH||' ',DATA_DEFAULT from user_tab_columns where table_name='$T_NAME' order by column_id;
spool off
exit
EOF
sed -i '/^$/d' temp.out

执行完毕后,就会出现temp.out文件,里面是指定表的一些信息:列名,数据类型,数据长度和默认值,且以空格分隔

J. sql脚本实现Oracle数据库中某几张表的导出功能

host exp lis/lis tables=lccont,ldcode file=/tmp/tabexp.dmp
drop table lis.lccont;
drop table lis.ldcode;
host imp lis/lis tables=lccont,ldcode file=/tmp/tabexp.dmp

热点内容
地铁逃生怎么进入游戏安卓 发布:2024-05-03 17:49:35 浏览:992
aws云存储 发布:2024-05-03 17:48:50 浏览:954
安卓微信王者号怎么转成苹果 发布:2024-05-03 17:44:38 浏览:745
原子类源码 发布:2024-05-03 17:44:19 浏览:165
安卓浏览图片如何全屏 发布:2024-05-03 17:24:08 浏览:104
传奇仓库脚本 发布:2024-05-03 17:23:56 浏览:541
2010数据库技术及应用 发布:2024-05-03 17:21:51 浏览:921
小米账号密码忘了怎么 发布:2024-05-03 17:17:44 浏览:780
皇家农场脚本 发布:2024-05-03 16:46:41 浏览:458
顺序存储链式存储 发布:2024-05-03 16:46:41 浏览:879