cmd脚本抽取Oracle数据库数据生成csv文件

本文介绍了一种不开发数据接口而通过CMD脚本和Oracle命令结合Windows计划任务来定时从Oracle数据库中抽取数据并生成CSV文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文作者前段时间接到的一个提供数据接口给友商的任务,因本着能偷懒就偷懒的原则大笑,就没有开发数据接口,而是利用cmd脚本和oracle命令并配合windows的计划任务实现了定时抽取oracle数据库数据生成csv文件,并存在指定日期目录下的功能。废话不多说,直接上脚本代码。

cmd.bat脚本代码如下:

@echo off
title "OD数据生成CSV文件脚本"
IF NOT EXIST "C:\data\OD\ %date:~0,4%%date:~5,2%%date:~8,2%" MD "C:\data\OD\%date:~0,4%%date:~5,2%%date:~8,2%"
sqlplus "test/test@192.168.1.2:1521/orcl" @C:\job\cmd.sql > nul
exit
cmd.sql代码如下:
column d1 new_value filename
column d2 new_value filepath
select to_char(sysdate,'yyyymmddhh24')||'0000' d1 FROM dual;
select to_char(sysdate,'yyyymmdd') d2 FROM dual;  
set heading off
set linesize 20000
set echo off
set feedback off
set pagesize 0
set termout off
set trimout on
set trimspool on
spool C:/data/od/&&filepath/&&filename..csv
select 'FROM_ZONE_ID,TO_ZONE_ID,NUMBER_OF_TRIPS_DEMAND_type1' from dual;
select start_station||','||end_station||','||flu from od where tolldate >= trunc(sysdate-2/24,'hh24') and tolldate <trunc(sysdate-1/24,'hh24');
spool off
exit
其中cmd.bat主要作用就是每天创建以日期命名的文件夹并调用cmd.sql文件

cmd.sql文件最重要的在以spool开始和spool结束这一段,首先spool开始表示要存入的文件全路径,注意filename后面两个点,spool下面一行生成csv文件的标题头(看情况可不用),再下面一行则是生成数据,最后spool off结束。

以上两个脚本调试完成后在利用windows的计划任务调用cmd.bat即可,相信广大开发和运维人员都会,此处不再赘述。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L若儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值