读书人

向ORACLE下传文件create directory报错

发布时间: 2012-12-25 16:18:28 作者: rapoo

向ORACLE上传文件create directory报错
点击右边红色标题查看本文完整版:向ORACLE上传文件create directory报错

现在要向Oracle上传文件,代码如下:
create or replace function plan_fliles_load_file
? (filePath varchar2,fileName varchar2) return boolean
/* *******************************************************************************************
--功? 能:向表中上传文件
--输入参数:
? fileName:要上传的文件名称, filePath:本文件全路径
--输出参数: 上传文件是否成功?
--********************************************************************************************/
AS
? Result BOOLEAN;
? F_LOB BFILE;
? B_LOB BLOB;
? bfile_path varchar2;
?
begin
? INSERT INTO plan_files(filename,filecontent)
? valueS(fileName,EMPTY_BLOB())RETURN filecontent INTO B_LOB;
? create directory bfile_path as filePath;
?
? F_LOB:= BFILENAME (bfile_path, FILENAME);
? IF (DBMS_LOB.FILEEXISTS(F_LOB) != 0) then
? DBMS_LOB.OPEN(F_LOB, DBMS_LOB.LOB_READONLY);/* 打开bfile源文件 */
? DBMS_LOB.OPEN(B_LOB, DBMS_LOB.LOB_READWRITE);/* 打开目标blob: */
? DBMS_LOB.LOADFROMFILE(B_LOB, F_LOB,DBMS_LOB.GETLENGTH(F_LOB));/*从文件中装入 */
? DBMS_LOB.CLOSE(B_LOB);/* 记得关闭: */
? DBMS_LOB.CLOSE(F_LOB);
? COMMIT;
? Result:=true;
?
? EXCEPTION/*如果发生异常*/
? WHEN OTHERS THEN
? ROLLBACK;
? Result:=FALSE;
?
? return(Result);
end plan_fliles_load_file;

为什么create directory bfile_path as filePath;这句老出错。

------解决方法--------------------
?

探讨
引用 他人的回复:
execute immediate 'create directory ' || :bfile_path || ' as ' || filePath;
可以不?


execute immediate 'create directory ' || bfile_path || ' as ' || filePath;

?

    

读书人网 >编程

热点推荐