Hvordan lagre en PDF-fil i en Oracle tabell
Det finnes flere metoder innebygd i Oracle som støtter PDF lagring. De kan lagres via APEX eller BFILE. De kan også lagres direkte i en tabell. For å lagre en PDF-fil i en Oracle tabellen, skrive en SQL-fil som plasserer filen i BLOB kolonne. Deretter kjører SQL-filen gjennom Oracle ledeteksten. Filen vil bli skrevet direkte inn i databasen uten noen eksterne verktøy.
Bruksanvisning
1 Start tekstredigeringsprogram eller kode editor av ditt valg.
2 Kopier og lim inn følgende kode til et tomt dokument:
CREATE OR REPLACE PROSEDYRE load_lob AS
ID-nummer;
image1 BLOB;
locator BFILE;
bfile_len nummer,
bf_desc VARCHAR2 (30);
bf_name VARCHAR2 (30);
bf_dir VARCHAR2 (30);
bf_typ VARCHAR2 (4);
ctr heltall;
CURSOR get_id IS
SELECT bfile_id,bfile_desc,bfile_type FROM graphics_table;
BEGYNNE
OPEN get_id;
LOOP
FETCH get_id INTO id, bf_desc, bf_typ;
EXIT NÅR get_id% notfound;
dbms_output.put_line ( 'ID:' || to_char (id));
VELG bfile_loc INTO locator Fra graphics_table WHERE bfile_id = id;
dbms_lob.filegetname (
locator, bf_dir, bf_name);
dbms_output.put_line ( 'Dir:' || bf_dir);
dbms_lob.fileopen (locator, dbms_lob.file_readonly);
bfile_len: = dbms_lob.getlength (locator);
dbms_output.put_line ( 'ID:' || to_char (id) || 'lengde:' || to_char (bfile_len));
VELG temp_blob INTO image1 Fra temp_blob;
bfile_len: = dbms_lob.getlength (locator);
dbms_lob.loadfromfile (image1, locator, bfile_len, 1,1);
INSERT INTO internal_graphics VALUES (id, bf_desc, image1, bf_typ);
dbms_output.put_line (bf_desc || 'Lengde:' || TO_CHAR (bfile_len) ||
'Navn:' || bf_name || ' Dir: '|| bf_dir ||' '|| Bf_typ);
dbms_lob.fileclose (locator);
END LOOP;
SLUTT;
/
3 Lagre filen med "sql" forlengelse. Klikk på "File", "Lagre som". Plasser den i en katalog. Gi den et navn og utvidelsen "sql" klikk "Lagre".
4 Kjør skriptet. Start Oracle ledetekst og skriv "SQL> @" og deretter katalogen og filnavnet til skriptet. Følg instruksjonene på skjermen for å laste PDF-filer til Oracle tabellen.