[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

100元求批处理通过指定的SQl语句,连接远程Oracle导出excel

本地安装了 oracle client,在netmanager里也配好了服务名。

类似于 select * from AAA where col1 between to_date('&xxxxxxxx','yyyymmdd') and to_date('&xxxxxxxx','yyyymmdd')

执行前提示用户输入开始时间和结束时间,然后导出

第一次发帖,怎么联系?有没有群?

TOP

回复 3# Batcher


    你好,代码已看到,我抽时间试一下,决不食言

TOP

回复 5# Batcher

请问哪里还需要改啊

    @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%

---------------

select * from profits


1        3        987        13        999        1998/1/10        783.03        1232.16        1232.16        1.00        783.03
2        3        1660        13        999        1998/1/10        783.03        1232.16        1232.16        1.00        783.03
3        3        1762        13        999        1998/1/10        783.03        1232.16        1232.16        1.00        783.03
4        3        1843        13        999        1998/1/10        783.03        1232.16        1232.16        1.00        783.03
5        3        1948        13        999        1998/1/10        783.03        1232.16        1232.16        1.00        783.03
6        3        2273        13        999        1998/1/10        783.03        1232.16        1232.16        1.00        783.03
7        3        2380        13        999        1998/1/10        783.03        1232.16        1232.16        1.00        783.03

TOP

回复 7# Batcher


    你好,
bat执行后 就一直保持在这个界面:

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%

TOP

返回列表