2017-07-03 19 views
0

重複している可能性について謝罪しますが、この作業を行うことはできません。私はWindowsスケジューラースクリプトから実行したいので、スプール出力の位置を調整するために "C:\ Path \ To"のようなパラメーターを渡そうとしています.sqlファイルがあります。 print文は正しい道を示し、このようなヘッダではおろか:SQL Developer(SQLcl)を使用した動的な場所へのスプール

ARGPATH 
---------------------------------------------------------------------------- ---- 
C:\Path\To\output.txt 

しかし、私は、ダイナミックなファイルの場所パラメータのこのタイプで動作するようにスプールを得るように見えることはできません。出力がない場合は、スクリプトを実行する際にエラーは発生しません。 SQL DeveloperのCLI SQLcl ver 4.2、12.1.0.2.0を使用しています。残念ながら、私はこの特定のツールに固執しており、一般的に開発環境をほとんど制御していません。いくつかのデフォルトの場所の代わりにローカルフォルダ(SQLスクリプトが存在する場所)にスプールする方法についての説明も、大歓迎です。前もって感謝します!

set heading off 
var argpath varchar2(100) 
exec :argpath := Trim('&1'||'output.txt') 
spool argpath; 

print argpath; 
select count (*) .../select statement/ 
spool off; 
exit 

たぶん私はすべてが期待と同じように動作し、私は明示的にパスを宣言、すなわち

spool C:\Path\To\output.txt 

ことを追加する必要があります。

答えて

0

あなたはそれを考えすぎています。独自の置換を使用して、使用しないで、あなたがしようとしていた方法をバインドします。

spool '&argpath\output.txt' 
select 1 from dual; 
spool off 
関連する問題