10

我想创建一个批处理文件,它将打开 SQLPLUS [CLI] 并执行一些存储的 sql 文件并将输出存储到文本文件。

所以我创建了这个批处理文件[不起作用]。
这些 SQL 文件包含从表中返回最大数量的 SQL。

sqlplus scott/tiger@DB
@sql1.sql>data1.txt
@sql2.sql>data2.txt

问题是打开SQLPLUS后不执行SQL文件

  • 视窗
  • 甲骨文 9i
4

3 回答 3

13

原生 Sql*plus 假脱机怎么样?

运行.bat:

sqlplus hr/hr@sandbox @d:\run.sql

运行.sql:

spool d:\run.log
set echo on 

select * from dual
/
exit

运行日志:

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
于 2013-05-09T17:51:49.300 回答
4
SET ORACLE_SID=<YOUR SID HERE>

sqlplus scott/tiger@DB < sql1.sql > data1.txt
sqlplus scott/tiger@DB < sql2.sql > data2.txt
于 2013-05-07T06:01:33.377 回答
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
于 2016-09-13T10:02:26.733 回答