我尝试将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,将表空转到文本文件,将文本文件移动到网络,然后退出。
答案 0 :(得分:0)
'/'将终止脚本并返回批处理文件。将退出和/放在sql脚本的末尾:
设置colsep,;
设置pagesize 0;
设置trimspool;
关闭headsep;
设置linesize 9999;
spool d:\ tablename.csv;
从robmat.rdok中选择*;
假脱机;
出口;
/
现在它适用于您的初始批处理文件,您将把移动命令放在第二行。