ďťż
 
[Oracle] Flushowanie DBMS_OUTPUT ? ďťż
 
[Oracle] Flushowanie DBMS_OUTPUT ?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[Oracle] Flushowanie DBMS_OUTPUT ?



Leszek Pachura - 11-05-2007 12:31
[Oracle] Flushowanie DBMS_OUTPUT ?
  Czesc,

Odpalam z SQL*Plusa dlugo wykonujaca sie procedure skladowana (kilkanascie
minut). Niestety, wszystkie komunikaty ktore sa wypisywane za pomoca
DBMS_OUTPUT.PUT_LINE('blah blah blah') sa wyswietlane dopiero w momencie gdy
procedura sie zakonczy, wszystkie na raz. Czy da sie jakos obejsc ten problem?
Czy istnieje cos jak komenda "flush", ktora wypisalaby zawartosc bufora na
ekran?

Mozna oczywiscie zapisywac komunikaty do osobnej tabeli i co pare sekund
sprawdzac jej zawartosc z innej instancji SQL*Plusa, ale to rozwiazanie jest
malo eleganckie...

Dzieki!

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 11-05-2007 12:31

  Dnia 14 Apr 2007 23:35:27 +0200, "Leszek Pachura" <pachuraWYTNIJTO@op.pl>
wklepał(-a):

>Czesc,
>
>Odpalam z SQL*Plusa dlugo wykonujaca sie procedure skladowana (kilkanascie
>minut). Niestety, wszystkie komunikaty ktore sa wypisywane za pomoca
>DBMS_OUTPUT.PUT_LINE('blah blah blah') sa wyswietlane dopiero w momencie gdy
>procedura sie zakonczy, wszystkie na raz. Czy da sie jakos obejsc ten problem?
>Czy istnieje cos jak komenda "flush", ktora wypisalaby zawartosc bufora na
>ekran?

Jeśli potrzebujesz informacji o danych, które są przetwarzane w procedurze (np.
wartości zmiennych), to zrób sobie procedurę zawierającą:
PRAGMA AUTONOMOUS TRANSACTION
i zapisuj w niej informacje do osobnej tabeli.

Natomiast jeśli chcesz tylko wiedzieć, który fragment procedury się wykonuje, to
możesz ustawiać informację o aktualnie wykonywanej operacji przez
DBMS_APPLICATION_INFO.SET_ACTION (ale tylko 32 znaki).

Podgląd przez:
SELECT ACTION
FROM V$SESSION
WHERE SID = :P_SID;

Informacje o postępie zadania można też ustawiać poprzez
DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS

I potem:
SELECT * FROM V$SESSION_LONGOPS
WHERE SID = :P_SID;

>Mozna oczywiscie zapisywac komunikaty do osobnej tabeli i co pare sekund
>sprawdzac jej zawartosc z innej instancji SQL*Plusa, ale to rozwiazanie jest
>malo eleganckie...

Rozwiązanie z DBMS_OUTPUT jest mało eleganckie. :)
--
Sławomir Szyszło mailto:slaszysz@poczta.onet.pl
Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych
FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/
Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= Oracle 19g +Insert +Insert +Insert... [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?= =?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?= [oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?= [oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?= MSSQL Express czy Oracle Express =?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?= =?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • morebeer.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com