一部のパッケージのDDLをスプールするためにSQLDeveloperを使用していますが、サーバーがスプールしている場所を特定できません。 OracleはAIXにインストールされていますが、OSへの接続に使用しているユーザーがわかりません。
基本的に、私が実行すると:
spool test.lst
select 1 from dual;
spool off
コンソールに確認メッセージが表示されます
1
----------------------
1
パスを指定しようとすると、おそらくユーザー権限が原因でエラーが発生します。
spool /tmp/test.lst
select 1 from dual;
spool off
Cannot create SPOOL file /tmp/test.lst
1
----------------------
1
だから私の質問はtest.lstはどこにあるのですか?
スプールはクライアントアクティビティであり、サーバーアクティビティではありません。 .lst
ファイルは、接続先のデータベースが存在するサーバーではなく、SQLDeveloperが存在するマシン上に作成されます。
Windows7およびSQLDeveloper 3.1では、デフォルトでは、.lst
を%APPDATA%\Sql Developer\
に格納しているようです。
特定のディレクトリにスプールできます。 spool c:\windows\temp\test.lst
であり、設定している場合はspool \\<aix-server>\<dir>\test.lst
のようなものを使用できます。もちろん、パスはクライアントOSによって異なります。
私のLINUXインストールでは、デフォルトのスプールディレクトリはsqlplusを実行している場所です。すなわち。書き込み権限がないディレクトリからsqlplusを実行すると、失敗します。
「!」と入力してみてくださいまたは、sqlplusプロンプトで「ホスト」を選択してOSに移動します。 pwdディレクトリが最終的に配置され、これがスプールの場所だと思います。
(sqlplusに戻るにはexitと入力します)