我想创建一个批处理文件,它将打开SQLPLUS [CLI]并执行一些存储的sql文件,并将输出存储到文本文件中。
所以我创建了这个批处理文件[不起作用] 这些SQL文件包含SQL,它返回表中的最大数字。
sqlplus scott/tiger@DB
@sql1.sql>data1.txt
@sql2.sql>data2.txt
问题是打开SQLPLUS后它没有执行SQL文件
答案 0 :(得分:10)
本机Sql *加假脱机怎么样?
的run.bat:
sqlplus hr/hr@sandbox @d:\run.sql
run.sql:
spool d:\run.log
set echo on
select * from dual
/
exit
RUN.LOG:
01:50:20 HR@sandbox>
01:50:20 HR@sandbox> select * from dual
01:50:20 2 /
D
-
X
Elapsed: 00:00:00.00
01:50:21 HR@sandbox> exit
答案 1 :(得分:2)
SET ORACLE_SID=<YOUR SID HERE>
sqlplus scott/tiger@DB < sql1.sql > data1.txt
sqlplus scott/tiger@DB < sql2.sql > data2.txt
答案 2 :(得分:1)
为了您的信息以及社区的其他人,我在dos文件中使用了这个命令行:
sqlplus.exe SIEBEL/mypass@mydb @D:\App\Siebel\EIM\sql\my_sql_command.sql
,输出结果为:
SQL*Plus: Release 11.2.0.1.0 Production on Mar. Sept. 13 11:53:52 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS : .....
实际上,我在命令行中出错...
sqlplus.exe SIEBEL/mypass@mydb**%** @D:\App\Siebel\EIM\sql\my_sql_command.sql