繁体   English   中英

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

[英]SQLPlus batch file - how to return to command prompt?

我正在尝试将 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 文件中,我添加了exitspool off

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

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

设置 colsep ,;

设置页面大小 0;

设置修剪轴;

开始前行;

设置线宽 9999;

线轴 d:\\tablename.csv;

从 robmat.rdok 中选择 *;

脱线;

出口;

/

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM