V tomto tutoriálu se naučíte, jak vložit soubor do databáze Oracle. Typ souboru může být PDF, obrázek nebo jakýkoli dokument. K demonstraci následujícího příkladu používám datový typ BLOB v tabulce Oracle.
Podle těchto kroků vložte soubor (PDF, obrázek, Docx, Xlsx atd.) do sloupce BLOB tabulky databáze Oracle
- Vytvořte tabulku ve schématu databáze Oracle se sloupcem BLOB, jak ukazuje příklad níže.
CREATE TABLE ext_files (název_souboru VARCHAR2 (1000),obsah_souboru BLOB)/
- Potom vytvořte objekt adresáře databáze, odkud chcete soubory vložit, jak je znázorněno v příkladu níže.
VYTVOŘTE NEBO NAHRAĎTE ADRESÁŘ PDF_FILES jako 'C:\my_pdf_files';
- Nyní vytvořte následující funkci pro převod souboru na datový typ BLOB. Ujistěte se však, že jste změnili název adresáře PDF_FILES v níže uvedené funkci s názvem, který jste vytvořili pro objekt adresáře.
VYTVOŘTE NEBO NAHRAĎTE FUNKCI file_to_blob(p_file_name VARCHAR2) RETURN BLOB ASdest_loc BLOB :=empty_blob();src_loc BFILE :=BFILENAME('PDF_FILES ', p_file_name);BEGINDBMS_LOB.OPEN(src_loc, DBMS_LOB.LOB_READONLY);DBMS_LOB.CREATETEMPORARY(lob_loc => cílový_lok, mezipaměť => true, dur => dbms_lob.session);DBMS_LOBMS_LOBLOMS_OPENBLODBLOD); .LOADFROMFILE(dest_lob => dest_loc, src_lob => src_loc, množství => DBMS_LOB.getLength(src_loc));DBMS_LOB.CLOSE(dest_loc);DBMS_LOB.CLOSE(src_loc);RETURN dest_loc;END file_to_blob;/Nyní jste připraveni na test vložení souboru do databázové tabulky Oracle.
Zkuste vložit soubor PDF
DECLAREv_blob BLOB;BEGINv_blob :=file_to_blob ('emp.pdf');INSERT INTO ext_filesVALUES ('emp.pdf', v_blob);COMMIT;END;/Otestujte vložení souboru obrázku (JPG)
DECLAREv_blob BLOB;BEGINv_blob :=file_to_blob ('oracle-18c-install-step-1.JPG');INSERT INTO ext_filesVALUES ('oracle-18c-install-step-1.JPG', v_blob);COMMIT;END;/Zkontrolujte záznamy v tabulce
SELECT * FROM EXT_FILES;Výstup
Viz také:
- Rozbalte soubor ZIP pomocí PL/SQL
- Soubory ZIP v PL/SQL