sql >> Database >  >> RDS >> Oracle

Hoe voeg ik een bestand in Oracle Database in?

In deze tutorial leert u hoe u een bestand invoegt in de Oracle-database. Het type bestand kan een PDF, een afbeelding of een willekeurig document zijn. Ik gebruik het BLOB-gegevenstype in de Oracle-tabel om het volgende voorbeeld te demonstreren.

Volg deze stappen om een ​​bestand (PDF, afbeelding, Docx, Xlsx, enz.) in de BLOB-kolom van de Oracle Database-tabel in te voegen

  1. Maak een tabel in het Oracle-databaseschema met een BLOB-kolom, zoals in het onderstaande voorbeeld.
CREATE TABLE ext_files (file_name VARCHAR2 (1000),file_content BLOB)/
  1. Maak vervolgens een databasedirectory-object van waaruit u de bestanden wilt invoegen, zoals in onderstaand voorbeeld.
CREER OF VERVANG DIRECTORY PDF_FILES Als 'C:\my_pdf_files';
  1. Maak nu de volgende functie om een ​​bestand om te zetten in een BLOB-gegevenstype. Maar zorg ervoor dat u de mapnaam PDF_FILES in de onderstaande functie wijzigt met de naam waarmee u het mapobject hebt gemaakt.
FUNCTIE MAKEN OF VERVANGEN 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.BLOMS_LOB.BLOMS_LOB.BLOMS_LOB.BLOMS_LOB.BLOMS_LOB. .LOADFROMFILE(dest_lob => dest_loc, src_lob => src_loc, bedrag => DBMS_LOB.getLength(src_loc));DBMS_LOB.CLOSE(dest_loc);DBMS_LOB.CLOSE(src_loc);RETURN dest_loc;END file_to_blo 

Nu bent u klaar voor de test om een ​​bestand in de Oracle-databasetabel in te voegen.

Test om een ​​PDF-bestand in te voegen

DECLAREv_blob BLOB;BEGINv_blob :=file_to_blob ('emp.pdf');INSERT INTO ext_filesVALUES ('emp.pdf', v_blob);COMMIT;END;/

Test om een ​​afbeeldingsbestand (JPG) in te voegen

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;/

Controleer de tabel op records

SELECT * FROM EXT_FILES;

Uitvoer

Zie ook:

  • Pak een ZIP-bestand uit met PL/SQL
  • ZIP-bestanden in PL/SQL
  1. Een getal naar boven afronden naar het dichtstbijzijnde gehele getal in SQL

  2. Postgresql DROP TABLE werkt niet

  3. Meerdere records invoegen in orakel

  4. Een beginnershandleiding voor SQL-tabellen