WEB开发网
开发学院数据库Oracle Oracle数据库处理多媒体信息 阅读

Oracle数据库处理多媒体信息

 2006-08-05 11:52:57 来源:WEB开发网   
核心提示: bfilename函数的第一个参数是逻辑目录名,第二个参数是文件名,Oracle数据库处理多媒体信息(4),注意:这一行中插入的是一个指向/home/utils/file1的lob定位符,并不是文件本身,(2)利用dbms_lob包进行lob数据操作sql仅可以操纵整个lob,因为有许多l

bfilename函数的第一个参数是逻辑目录名,第二个参数是文件名。注意:这一行中插入的是一个指向/home/utils/file1的lob定位符,并不是文件本身。

(2)利用dbms_lob包进行lob数据操作

sql仅可以操纵整个lob,而不能操纵数据片。dbms_lob包则放开了这个限制,它提供对lob数据中数据片的操作。这个包中包含十几个例程,读者可以查阅Oracle pl/sql手册,本文只介绍三个函数:fileopen()用来打开一个操作系统文件;loadfromfile()例程用来往目标lob字段填充一个操作系统文件,这个函数很有实用价值,因为有许多lob内容在sql语句中是不可描述的,例如一个二进制音频文件,而用这个函数可以将文件内容导入到数据库;getlength函数计算文件的长度。请看下面一个存储过程中这三个函数的使用:

  create or replace procedure FileExec(
    p_Directory in VARCHAR2,
    p_Filename IN VARCHAR2
   ) AS
    v_FileLocator BFILE;
    v_CLOBLocator CLOB;
   BEGIN
    --为update初始化一个定位符
    SELECT clob_col
     INTO v_CLOBLocator
     FROM lobdemo
     WHERE key=-1
    FOR UPDATE;
   --为读文件初始化一个BFILE定位符
    v_FileLocator:=BFILEOPEN(p_Derectory,p_Filename);
   --用dbms_lob包的fileopen打开一个操作系统文件
    DBMS_LOB.FILEOPEN(v_FileLocator,DBMS_LOB.FILE_READONLY);
   --将整个操作系统文件装入lob中
    DBMS_LOB.LOADFROMFILE(v_CLOBLocator,v_FileLocator,DBMS_LOB.GETLENGTH(v_FileLocator));
    END FileExec;

上一页  1 2 3 4 5 6 7  下一页

Tags:Oracle 数据库 处理

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接