Oracle 有一个包:DBMS_LOB支持大型对象功能的编程,它的函数/过程如下(不全):DBMS_JOB.APPEND(目标定位器,源定位器)
DBMS_JOB.READ(定位器,amount,offset, buffer)
--amount:从文件中读取到缓冲中的字节数,
--offset 偏移值
DBMS_JOB.WRITE(定位器,amount,offset, buffer)
DBMS_JOB.OPEN(定位器)
DBMS_JOB.CLOSE(定位器)
DBMS_JOB.ISOPEN(定位器)举个例子:
用外部大型对象1.建立一个目录对象:
CREATE DIRECTORY IMAGES_DIR AS 'C:\TEMP'2.
DECLARE
V_FILE BFILE;
BEGIN
V_FILE := BFILENAME('IMAGES_DIR', 'image1.gif');
IF DBMS_LOB.FILEEXISTS(V_FILE) = 1 THEN --等于1为文件存在。
INSERT INTO TABNAME (bfile列)VALUES(V_FILE);
COMMIT;
END IF;
END;
DBMS_JOB.READ(定位器,amount,offset, buffer)
--amount:从文件中读取到缓冲中的字节数,
--offset 偏移值
DBMS_JOB.WRITE(定位器,amount,offset, buffer)
DBMS_JOB.OPEN(定位器)
DBMS_JOB.CLOSE(定位器)
DBMS_JOB.ISOPEN(定位器)举个例子:
用外部大型对象1.建立一个目录对象:
CREATE DIRECTORY IMAGES_DIR AS 'C:\TEMP'2.
DECLARE
V_FILE BFILE;
BEGIN
V_FILE := BFILENAME('IMAGES_DIR', 'image1.gif');
IF DBMS_LOB.FILEEXISTS(V_FILE) = 1 THEN --等于1为文件存在。
INSERT INTO TABNAME (bfile列)VALUES(V_FILE);
COMMIT;
END IF;
END;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货