ZSBD-2st-1.2-lab10.tresc-1.4-Slajd5

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Zadanie (1)

[[Image:ZSBD-2st-1.2-lab10.tresc-1.4-Slajd5.PNG|Zadanie (1)]


Przedstawiony na tym, i kolejnym slajdzie program napisany w PL/SQLu, ma za zadanie odczytanie spod zadanego adresu WWW plików graficznych o nazwach zapisanych w tabeli FLAGS, konwersję ich na BLOBy (Binary Large Objects), utworzenie obiektów typu SI_STILLIMAGE reprezentujących odczytane pliki graficzne i zapisanie ich do tabeli FLAGS. URL podany jako parametr procedury REQUEST_PIECES z pakietu URL_HTTP (2) to adres katalogu na serwerze WWW na którym znajdują się pliki. Podany adres jest przykładowy. O prawdziwy URL, który należy w tym miejscu podać, należy zapytać się prowadzącego zajęcia.

Program rozpoczyna się od deklaracji zmiennych i kursorów (1). Wśród zadeklarowanych zmiennych mamy zmienną PIECES, która jest tablicą fragmentów pliku odczytanego ze strony WWW. Następną zmienną jest zmienna PICT typu BLOB, która przechowuje kompletny, odczytany ze strony WWW plik. Zmienne BUF i TEMPFLAG są zmiennymi pomocniczymi, które są stosowane odpowiednio do: konwersji odczytanego fragmentu pliku ze strony WWW do BLOBa i utworzenia obiektu reprezentującego odczytany obraz. Na końcu deklarowany jest kursor, dzięki któremu możliwe będzie odczytanie tabeli FLAGS, i zapisanie do niej obrazów flag.

Kod programu składa się z głównej pętli, która iteruje po kursorze pobierając kolejne krotki z tabeli FLAGS i zapisując je do zmiennej X. Wszystkie polecenia wewnątrz tej pętli służą do odczytania ze strony WWW jednego obrazka flagi i zapisania go do tabeli FLAGS. Pobranie pliku wykonywane jest przez procedurę REQUEST_PIECES z pakietu UTL_HTTP (2). Jej parametrami są URL pliku i maksymalna liczba 2000 bajtowych paczek w jakich pobierany jest plik. Wszystkie odczytane paczki są zapisane w postaci jednej tablicy łańcuchów długości 2000 bajtów w zmiennej PIECES. Po pobraniu pliku tworzony i otwierany do zapisu jest tymczasowy BLOB (3), do którego zostaną zapisane wszystkie odczytane paczki składające się na plik graficzny.


<< Poprzedni slajd | Spis treści | Następny slajd >>