I denne vejledning lærer du, hvordan du indsætter en fil i Oracle-databasen. Filtypen kan være en PDF, et billede eller et hvilket som helst dokument. Jeg bruger BLOB-datatypen i Oracle-tabellen til at demonstrere følgende eksempel.
Følg disse trin for at indsætte en fil (PDF, billede, Docx, Xlsx osv.) i Oracle-databasetabellens BLOB-kolonne
- Opret en tabel i Oracle-databaseskemaet med en BLOB-kolonne, som vist i nedenstående eksempel.
OPRET TABEL ext_filer (filnavn VARCHAR2 (1000),fil_indhold BLOB)/
- Opret derefter et databasebiblioteksobjekt, hvorfra du vil indsætte filerne, som vist i eksemplet nedenfor.
OPRET ELLER ERSTAT DIRECTORY PDF_FILES Som 'C:\my_pdf_files';
- Opret nu følgende funktion til at konvertere en fil til en BLOB-datatype. Men sørg for at ændre PDF_FILES-biblioteksnavnet i nedenstående funktion med det navn, du oprettede biblioteksobjektet.
OPRET ELLER ERSTAT FUNKTION 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 => dest_loc, cache => true, dur => dbms_lob.session);DBMS_LOB.OPEN(DBMS_REDBLOBBITE); .LOADFROMFILE(dest_lob => dest_loc, src_lob => src_loc, amount => DBMS_LOB.getLength(src_loc));DBMS_LOB.CLOSE(dest_loc);DBMS_LOB.CLOSE(src_loc);RETURN_to_loc;END fil;Nu er du klar til testen for at indsætte en fil i Oracle-databasetabellen.
Test for at indsætte en PDF-fil
DECLAREv_blob BLOB;BEGINv_blob :=file_to_blob ('emp.pdf');INSERT INTO ext_filesVALUES ('emp.pdf', v_blob);COMMIT;END;/Test for at indsætte en billedfil (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;/Tjek tabellen for poster
VÆLG * FRA EXT_FILES;Output
Se også:
- Udpak en ZIP-fil ved hjælp af PL/SQL
- ZIP-filer i PL/SQL