2016-11-21 80 views
-1

我特地一些問題,此插入:如何將BLOB_FILE插入到Oracle數據庫中?

insert into MY TABLE (SOMETHING,SOMETHING,BLOB_FILE,SOMETHING,SOMETHING,SOMETHING) 
    values(1,'1234HRT',utl_raw.cast_to_raw('path\of\my\file'),7894,SYSDATE,SYSDATE); 

就像你看到的,我想插入文件.TXT(或csv,這是相同的)到我的表,像這樣的插入是因爲當我檢查記錄時,文件就是我在插入('path \ of \ my \ file')上寫的路徑, 任何解決方案?

+0

您不能插入這樣一個文件的文件夾;您可以查看[外部表格](http://docs.oracle.com/database/121/SUTIL/GUID-309085A3-9D23-4ED8-9920-E243C6406286.htm#SUTIL999) – Aleksej

回答

0

你在其他帖子上有很多其他的例子。你需要一些PL/SQL將文件發送到BLOB列: PS:你需要創建一個目錄對象指向

DECLARE 
    src_lob BFILE := BFILENAME('MY_DIR', '/tmp/me.gif'); 
    dest_lob BLOB; 
BEGIN 
    INSERT INTO lob_table VALUES(2, EMPTY_BLOB()) 
    RETURNING doc INTO dest_lob; 

    DBMS_LOB.OPEN(src_lob, DBMS_LOB.LOB_READONLY); 
    DBMS_LOB.LoadFromFile(DEST_LOB => dest_lob, 
         SRC_LOB => src_lob, 
         AMOUNT => DBMS_LOB.GETLENGTH(src_lob)); 
    DBMS_LOB.CLOSE(src_lob); 

    COMMIT; 
END; 
相關問題