web-dev-qa-db-ja.com

Windowsバッチファイルを使用したSQLPLUSコマンドライン

SQLPLUS [CLI]を開き、格納されているSQLファイルを実行し、出力をテキストファイルに格納するバッチファイルを作成します。

そこで、このバッチファイルを作成しました(機能しません)。
これらのSQLファイルには、テーブルから最大数を返すSQLが含まれています。

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

問題は、SQLPLUSを開いた後にSQLファイルを実行しないことです。

  • Windows XP
  • Oracle 9i
7
Sourav

ネイティブSql * plusスプールについてはどうですか?

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
12
be here now
SET Oracle_SID=<YOUR SID HERE>

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

参考までに、そしてコミュニティの残りの部分のために、私は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
1
Roland