在internal這個使用者下給scott使用者授權如下:
sql>grant create any directory to scott;
sql>grant create any library to scott;
在scott這個使用者下執行下述語句:
sql>create table bfile_tab (bfile_column bfile);
sql>create table utl_lob_test (blob_column blob);
sql>create or replace directory utllobdir as 'c:\dds\extproc';
sql>set serveroutput on
然後執行下面語句就將c:\dds\extproc目錄下的word檔案com.doc存入到utl_lob_test
表中的blob_column欄位中了。
declare
a_blob blob;
a_bfile bfile := bfilename('utllobdir','com.doc'); --用來指向外部作業系統
檔案begin
insert into bfile_tab values (a_bfile)
returning bfile_column into a_bfile;
insert into utl_lob_test values (empty_blob())
returning blob_column into a_blob;
dbms_lob.fileopen(a_bfile);
dbms_lob.loadfromfile(a_blob, a_bfile, dbms_lob.getlength(a_bfile));
dbms_lob.fileclose(a_bfile);
commit;
end;
/sql>show errors
此時可以使用dbms_lob包的getlength這個procedure來檢測是否已經將該word檔案存入
到blob欄位中了。如:
sql> select dbms_lob.getlength(blob_column) from utl_lob_test;
結果如下:
dbms_lob.getlength(blob_column)
-------------------------------
83968
說明該word檔案已經存入到blob欄位中去了。
mysql中blob MySQL中的BLOB型別
一 概念 blob binary large object 二進位製大物件,是乙個可以儲存二進位制檔案的容器。在計算機中,blob常常是資料庫中用來儲存二進位制檔案的字段型別。blob是乙個大檔案,典型的blob是一張或乙個聲音檔案,由於它們的尺寸,必須使用特殊的方式來處理。二 mysql的四種bl...
SQL Plus 中如何執行多個 sql指令碼檔案
1.在sql plus中執行單個sql指令碼檔案 sql c aaa.sql 2.在sql plus中執行多個sql指令碼檔案 比如你要執行得2個sql指令碼 a.sql 和 b.sql 現在你重新寫乙個指令碼 c.sql 其中得內容如下 a.sql b.sql 然後把c.sql放在a.sql 和 ...
SQLPLUS中設定引數
sql set colsep 域輸出分隔符 sql set echo off 顯示start啟動的指令碼中的每個sql命令,預設為on sql set echo on 設定執行命令是是否顯示語句 sql set feedback on 設定顯示 已選擇xx行 sql set feedback off...