Używanie sqlplus.exe Poszukuję sposobu napisania wyniku sqlplus do pliku.Zapisywanie wyniku sqlplus do pliku
Czy mogę to zrobić, obecnie dane wyjściowe są zapisywane tylko na konsoli.
Używanie sqlplus.exe Poszukuję sposobu napisania wyniku sqlplus do pliku.Zapisywanie wyniku sqlplus do pliku
Czy mogę to zrobić, obecnie dane wyjściowe są zapisywane tylko na konsoli.
Możesz użyć polecenia SPOOL, aby zapisać informacje do pliku.
Przed wykonaniem dowolnego polecenia wpisz następujące polecenie:
SPOOL <output file path>
wszystkich poleceń wyjście następujący zostaną zapisane do pliku wyjściowego.
Aby zatrzymać polecenia zapisu wyjściowego typu
SPOOL OFF
Należy również pamiętać, że wyjście SPOOL
jest napędzany przez kilka ustawień SQLPLUS:
SET LINESIZE nn
- maksymalna szerokość linii; jeśli wynik jest dłuższy, zawinie się, aby wyświetlić zawartość każdego wiersza wyników.
SET TRIMSPOOL OFF|ON
- jeśli ustawiono OFF
(domyślnie), każda linia wyjściowa zostanie dopełniona do LINESIZE
. Jeśli ustawisz ON
, każda linia wyjściowa zostanie przycięta.
SET PAGESIZE nn
- liczba linii wyjściowych dla każdego powtórzenia nagłówka. Jeśli ustawione na zero, nie jest wyprowadzany żaden nagłówek; tylko szczegół.
To są duże gadżety, ale są też inne, które należy wziąć pod uwagę, jeśli po prostu chcesz uzyskać wyjście bez całej paplarki SQLPlus.
Upewnij się, że masz dostęp do katalogu, który próbujesz spool. Próbowałem spoolować do katalogu głównego i nie utworzyłem pliku (np. c:\test.txt
). Możesz sprawdzić, gdzie buforujesz, wydając polecenie spool
.
Ostatni wskaźnik przypomina tylko to, co zostało ustawione za pomocą polecenia spool. Nie daje pełnej ścieżki absolutnej, której właśnie chcę. – ADTC
działa to również z Linuksem? próbowałem podając/tmp lokalizacji w moim linuxbox. Ale mam błędy: "Napotkałem symbol" SPOOL "". Czy istnieje jakieś obejście tego problemu? – uniquephase
Komenda 'SPOOL' podana w odpowiedziach jest opisana [w dokumentacji] (http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_six.htm#i1082570). –