konto usunięte

Temat: uruchomienie skrypu z pliku zewnętrznego w procedurze

Mam pytanie jak uruchomić taki plik ,który jest zapisany w oddzielnym pliku w procedurze SQL ?


SET AUTOTRACE OFF
SET TERMOUT OFF
SET FEEDBACK OFF
SET PAGESIZE 0
SET VERIFY OFF
SET LINESIZE 600

SPOOL 'E:\RÓŻNE\PLIKI_WYJSCIOWE\bbbbb.csv'

SELECT 'voucher_no_ref;series_id;voucher_date_ref;voucher_type_ref' FROM DUAL;
SELECT i.cos1 ||';'|| i.cos2 ||';'|| i.cos3 ||';'|| i.cos4
FROM tabela i
where i.cos1 IN(14131001,10090479,5119146)
and i.cos2 = 'AAA'
and i.cos3 = 'CC';

Spool OFF


Chcę uruchomić taki plik z zewnętrz w procedurze , ponieważ jak mam ten kawałek kodu w kodzie procedury to wyskakuje błąd:

(S1914) Expecting: TRANSACTION

Dziękuję za pomoc !

konto usunięte

Temat: uruchomienie skrypu z pliku zewnętrznego w procedurze

Przemysław K.:
Mam pytanie jak uruchomić taki plik ,który jest zapisany w oddzielnym pliku w procedurze SQL ?


SET AUTOTRACE OFF
SET TERMOUT OFF
SET FEEDBACK OFF
SET PAGESIZE 0
SET VERIFY OFF
SET LINESIZE 600

SPOOL 'E:\RÓŻNE\PLIKI_WYJSCIOWE\bbbbb.csv'

SELECT 'voucher_no_ref;series_id;voucher_date_ref;voucher_type_ref' FROM DUAL;
SELECT i.cos1 ||';'|| i.cos2 ||';'|| i.cos3 ||';'|| i.cos4
FROM tabela i
where i.cos1 IN(14131001,10090479,5119146)
and i.cos2 = 'AAA'
and i.cos3 = 'CC';

Spool OFF


Chcę uruchomić taki plik z zewnętrz w procedurze , ponieważ jak mam ten kawałek kodu w kodzie procedury to wyskakuje błąd:

(S1914) Expecting: TRANSACTION


Z tego co widzę to jest to Oracle a skrypt który masz to jest to skrypt SQLPlus-owy a nie PL/SQL (charakterystyczne polecenia SQLPlusa) - nie da się go wprost odpalić z procedury. Może napisz co potrzebujesz bo z tego co widzę to ten skrypt zapisuje tylko wynik zapytania do pliku.

konto usunięte

Temat: uruchomienie skrypu z pliku zewnętrznego w procedurze

rozumiem czyli tego nie odpalę bezpośrednio z procedury. Potrzebuję w procedurze po wszystkich operacjach wykonać zapisanie do pliku z podziałem na kolumny dlatego ten skrypt stosowałem.

Sam skrypt w sobie działa w aplikacji lecz bez żadnego bloku deklaracyjnego procedury

konto usunięte

Temat: uruchomienie skrypu z pliku zewnętrznego w procedurze

Tomek P.:
Przemysław K.:
Mam pytanie jak uruchomić taki plik ,który jest zapisany w oddzielnym pliku w procedurze SQL ?


SET AUTOTRACE OFF
SET TERMOUT OFF
SET FEEDBACK OFF
SET PAGESIZE 0
SET VERIFY OFF
SET LINESIZE 600

SPOOL 'E:\RÓŻNE\PLIKI_WYJSCIOWE\bbbbb.csv'

SELECT 'voucher_no_ref;series_id;voucher_date_ref;voucher_type_ref' FROM DUAL;
SELECT i.cos1 ||';'|| i.cos2 ||';'|| i.cos3 ||';'|| i.cos4
FROM tabela i
where i.cos1 IN(14131001,10090479,5119146)
and i.cos2 = 'AAA'
and i.cos3 = 'CC';

Spool OFF


Chcę uruchomić taki plik z zewnętrz w procedurze , ponieważ jak mam ten kawałek kodu w kodzie procedury to wyskakuje błąd:

(S1914) Expecting: TRANSACTION


Z tego co widzę to jest to Oracle a skrypt który masz to jest to skrypt SQLPlus-owy a nie PL/SQL (charakterystyczne polecenia SQLPlusa) - nie da się go wprost odpalić z procedury. Może napisz co potrzebujesz bo z tego co widzę to ten skrypt zapisuje tylko wynik zapytania do pliku.


zmieniłem na UTF FILE

l_file_handle := UTL_FILE.FOPEN('E:\PLIKI_WYJSCIOWE','zobowiazania_mr0031.csv','a',2047);

i non stop komunikat
ora-29280 invalid directory path


nie mogę zmienić domyślnej ścieżki w aplikacji
Irek Słonina

Irek Słonina programowanie, bazy
danych i linuksy

Temat: uruchomienie skrypu z pliku zewnętrznego w procedurze

Przemysław K.:
zmieniłem na UTF FILE

l_file_handle := UTL_FILE.FOPEN('E:\PLIKI_WYJSCIOWE','zobowiazania_mr0031.csv','a',2047);

i non stop komunikat
ora-29280 invalid directory path


nie mogę zmienić domyślnej ścieżki w aplikacji

Spróbuj:


CREATE DIRECTORY PLIKI_WYJSCIOWE AS 'E:\PLIKI_WYJSCIOWE';
UTL_FILE.FOPEN('PLIKI_WYJSCIOWE','zobowiazania_mr0031.csv','a',2047);

konto usunięte

Temat: uruchomienie skrypu z pliku zewnętrznego w procedurze

Irek S.:
Przemysław K.:
zmieniłem na UTF FILE

l_file_handle := UTL_FILE.FOPEN('E:\PLIKI_WYJSCIOWE','zobowiazania_mr0031.csv','a',2047);

i non stop komunikat
ora-29280 invalid directory path


nie mogę zmienić domyślnej ścieżki w aplikacji

Spróbuj:


CREATE DIRECTORY PLIKI_WYJSCIOWE AS 'E:\PLIKI_WYJSCIOWE';
UTL_FILE.FOPEN('PLIKI_WYJSCIOWE','zobowiazania_mr0031.csv','a',2047);


tak również nie działa. Rozwiązałem to w inny sposób zamiast w procedurze przeniosłem to do pliku zewnętrznego i z konsoli odpalam oraz pakuję gotowy wynik excela do .rar
Dziękuję za chęci i pomoc !

Temat: uruchomienie skrypu z pliku zewnętrznego w procedurze

Używając polecenia: CREATE DIRECTORY PLIKI_WYJSCIOWE AS 'E:\PLIKI_WYJSCIOWE';
tworzysz ORACLE DIR o nazwie PLIKI_WYJSCIOWE, który wskazuje na E:\PLIKI_WYJSCIOWE, ale w lokalizacji serwera bazy danych.
Pamiętaj, że ORACLE DIRECTORY wskazuje na katalog na serwerze bazy danych, nie na Twój lokalnie na dysku.
Paweł Pasztaleniec

Paweł Pasztaleniec Lead Consultant -
CGI

Temat: uruchomienie skrypu z pliku zewnętrznego w procedurze

O!, zauważyłem to pytanie i tutaj.

Dodam tylko jeszcze, że do utworzenia ORACLE DIR nie musi istnieć katalog w systemie operacyjnym, na który ten ORACLE DIR wskazuje, ale już podczas użycia, np. próby zapisania w nim pliku, katalog musi istnieć, bo inaczej Oracle zwróci błąd.
Marcin P.

Marcin P. Software Engineer /
PL/SQL Developer

Temat: uruchomienie skrypu z pliku zewnętrznego w procedurze

Taki offtopic, to zamień IN na warunki logiczne. Znając życie potrafi nieźle spowolnić wyszukiwanie.

Następna dyskusja:

Uruchomienie pliku bat.




Wyślij zaproszenie do