@echo off
set OraUser=sh
set OraPass=xxx
set OraIP=127.0.0.1
set OraPort=1521
set OraService=H
set OraSql=test.sql
set /p StartDate=输入开始日期(例如20180701):
set /p EndDate=输入结束日期(例如20180705):
> "%OraSql%" echo spool test.csv
>>"%OraSql%" echo select * from AAA where col1 between to_date('%StartDate%','yyyymmdd') and to_date('%EndDate%','yyyymmdd')
>>"%OraSql%" echo spool off
start sqlplus %OraUser%/%OraPass%@%OraIP%:%OraPort%/%OraService% @%OraSql%
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 7月 10 11:20:03 2018
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
3
--------------------------
生成的CSV是空的
-------------------------
生成的test.sql内容如下:
spool test.csv
select * from sales where time_id between to_date('19980110','yyyymmdd') and to_date('19980120','yyyymmdd')
spool off
---------------
bat内容如下:
@echo off
set OraUser=sh
set OraPass=owenowen
set OraIP=127.0.0.1
set OraPort=1521
set OraService=H
set OraSql=test.sql
set /p StartDate=输入开始日期(例如20180701):
set /p EndDate=输入结束日期(例如20180705):
> "%OraSql%" echo spool test.csv
>>"%OraSql%" echo select * from sales where time_id between to_date('%StartDate%','yyyymmdd') and to_date('%EndDate%','yyyymmdd')
>>"%OraSql%" echo spool off
start sqlplus %OraUser%/%OraPass%@%OraIP%:%OraPort%/%OraService% @%OraSql%