SQLPlus 批处理文件 - 如何返回命令提示符?

问题描述 投票:0回答:1

我正在尝试将 Oracle 表导出到文本文件。我有那个工作,但我还需要在导出结束后将文本文件从一个位置复制到另一个位置。在 SELECT 语句之后,如何从

SQL>
提示返回到
C:\
提示?

我有一个批处理文件 select.bat,可以执行此操作:

echo @d:\users\myusername\desktop\sqlscript.sql | sqlplus mylogin/mypassword

和 sqlscript.sql 看起来像这样:

set colsep ,
set pagesize 0
set trimspool on
set headsep off
set linesize 9999
spool d:\users\myusername\desktop\tablename.csv
select * from tablename;
spool off

我运行批处理文件,一切正常。我怎样才能添加一行:

move d:\users\myusername\desktop\tablename.csv "\\server\share\myfolder\" 

在 .bat 文件中还是在 .sql 文件中?

谢谢!

更新:

我把批处理文件改成这样:

start cmd.exe /k "sqlplus mylogin/mypassword @d:\users\myusername\desktop\sqlscript.sql & move /y d:\users\jjb4211\desktop\tablename.csv \\servername\sharename\myfolder & exit"

在SQl文件中,我在

exit
之后添加了
spool off

现在我可以运行 .bat 文件,它打开一个新的命令提示符,连接到 Oracle,将表假脱机到一个文本文件,将文本文件移动到网络,然后退出。

oracle batch-file sqlplus
1个回答
0
投票

'/' 退出后将终止脚本并返回到批处理文件。将 exit 和 / 放在 sql 脚本的末尾:

设置 colsep ,;

设置页面大小 0;

设置阀芯;

关闭耳机;

设置行号 9999;

线轴 d: ablename.csv;

从 robmat.rdok 中选择 *;

线轴关闭;

退出;

/

现在它可以与您的初始批处理文件一起使用,您可以在其中将移动命令放在第二行。

© www.soinside.com 2019 - 2024. All rights reserved.