首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

向ORACLE上传文件create directory报错

2014-01-28 
现在要向Oracle上传文件,代码如下: create or replace function plan_fliles_load_file(filePath varchar2,

现在要向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;

 

        

热点排行