17

Windows で SQL Plus の現在のディレクトリを変更するにはどうすればよいですか。

いくつかの「@ filename」コマンドを使用してスクリプトを作成しようとしています。

現在のディレクトリを変更する File --> Open コマンドを使用してスクリプトを開くことができることは知っていますが、これを自動的に無人で行う方法を探しています。


解像度

Plasmer の回答に基づいて、Windows で SQLPATH 環境変数を設定し、自分にとって十分なものを取得しました。HOST コマンドで設定しようとはしませんでした (動作するかどうかは疑問です)。

Pourquoi Litytestdata の答えは良いものですが、私にはうまくいきません (ディレクトリが離れすぎています)。もちろん、それはできないというガイの答えも正しい。これら 2 つに投票し、Plasmer の回答を受け入れます。

4

9 に答える 9

20

これが私がすることです。

あなたを助けるために変数を定義してください:

define dir=C:\MySYSTEM\PTR190\Tests\Test1

@&dir\myTest1.sql

cdSQL*Plus ではできません( cdhost コマンドを使用できますが、子プロセスであるため、親プロセスでは設定が保持されません)。

于 2010-04-15T14:22:18.350 に答える
11

SQL*Plus ではディレクトリを変更できないと思います。

ディレクトリを変更する代わりに@@filename、現在のスクリプトが実行されているディレクトリに対して相対的な場所にある別のスクリプトを読み込む を使用できます。たとえば、2 つのスクリプトがある場合

C:\Foo\Bar\script1.sql
C:\Foo\Bar\Baz\script2.sql

行が含まれている場合はscript1.sql実行できますscript2.sql

@@Baz\script2.sql

の詳細については、これを参照してください@@

于 2009-02-03T22:05:24.163 に答える
9

SQLPATH環境変数を使用して、実行しようとしているスクリプトを探す場所をsqlplusに指示できますか?HOSTを使用してスクリプトでSQLPATHを設定することもできると思います。

2つのスクリプトが同じ名前で、両方のディレクトリーがSQLPATHにある場合、問題が発生する可能性があります。

于 2009-02-03T22:42:14.387 に答える
4

私はあなたができるとは思わない!

/home/export/user1 $ sqlplus / 
> @script1.sql
> HOST CD /home/export/user2
> @script2.sql

script2.sql は にある必要があり/home/export/user1ます。

フルパスを使用するか、スクリプトを終了sqlplusして正しいディレクトリからやり直してください。

#!/bin/bash
oraenv .
cd /home/export/user1
sqlplus / @script1.sql
cd /home/export/user2
sqlplus / @script2.sql

(そのようなもの - メモリからこれを行う!)

于 2009-02-03T21:58:26.330 に答える
2

sql plus の Windows ショートカットを作成して、作業ディレクトリを設定してみましたか?

于 2009-02-03T21:59:32.693 に答える
2

数年後、私は同じ問題を抱えていました。私の解決策は、一時的なバッチファイルと sqlplus の別のインスタンスを作成することです。

最初の SQL スクリプト:

:
set echo off
spool sqlsub_tmp.bat
prompt cd /D D:\some\dir
prompt sqlplus user/passwd@tnsname @second_script.sql
spool off
host sqlsub_tmp.bat
host del sqlsub_tmp.bat
:

最初のスクリプトに戻りたい場合は、「second_script.sql」の最後に「exit」ステートメントが必要であることに注意してください。

于 2017-02-06T15:58:21.700 に答える
-2

私にとっては、シェルで[a | any]コマンドを実行できるため、シェルアウトが機能します。

http://www.dba-oracle.com/t_display_current_directory_sqlplus.htm

つまり、現在のディレクトリを参照してください。

!pwd

それを変更

!cd /path/you/want

于 2016-08-22T10:08:00.770 に答える