2012-07-27 7 views
9

Używam programisty SQL do buforowania DDL dla niektórych pakietów, ale nie mogę zidentyfikować lokalizacji, w której jest buforowany serwer. Oracle jest zainstalowany w systemie AIX, ale nie znam użytkownika, którego używa do łączenia się z systemem operacyjnym.Lokalizacja szpuli Oracle

Zasadniczo, gdy biegnę:

spool test.lst 

select 1 from dual; 

spool off 

dostaję komunikat potwierdzający w konsoli

1      
---------------------- 
1   

i gdy próbuję dać ścieżkę, którą otrzymuję komunikat o błędzie, prawdopodobnie z powodu prawa użytkownika:

spool /tmp/test.lst 
select 1 from dual; 
spool off 


Cannot create SPOOL file /tmp/test.lst 
1      
---------------------- 
1    

Moje pytanie brzmi: gdzie jest test.lst?

Odpowiedz

14

Bufor jest działaniem klienta, a nie serwerem; plik .lst zostanie utworzony na komputerze, na którym jest uruchomiony program SQL Developer, a nie na serwerze, na którym znajduje się baza danych, z którą się łączy.

Pod Windows 7 i SQL Developer 3.1, domyślnie dla mnie to wydaje się przechowywać .lst w %APPDATA%\Sql Developer\

Można szpula do określonego katalogu, na przykład spool c:\windows\temp\test.lst, a jeśli go masz, możesz użyć czegoś takiego jak spool \\<aix-server>\<dir>\test.lst. Ścieżki różnią się oczywiście w zależności od systemu operacyjnego klienta.

0

Pod moją instalacją LINUX domyślny katalog buforowania to miejsce, w którym działa sqlplus. tj. Jeśli uruchomisz sqlplus z katalogu, w którym nie masz uprawnień do zapisu, to się nie powiedzie.

Spróbuj wpisać "!" lub "host" po znaku zachęty sqlplus, aby uzyskać OS. pwd katalog kończy się i myślę, że to jest lokalizacja twojej szpuli.

(wpisz exit, aby powrócić do sqlplus)