在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>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;
/
解决方案 »
- oracle中新建了一个用户,不能在sql developer中使用select语句
- 有难度的查询啊
- 求一统计SQL
- 如何在单机上安装oracle9i???
- windows下Oracle的service启动状态为starting,启动server后重新开启service还是starting状态。
- 请问怎样查看数据库中哪些表是分区表?
- 怎样获取ORACLE数据库用户的权限及密码?
- 如何用Oracle8的系统工具录入数据(在线)
- oracle迁移到mysql
- Oracle限定查询问题
- 在ENTERPRISE MANAGER中,如何在已搜索到的节点中添加数据库?
- 请斑竹在进来一下!小弟无分了!哭求.....
create or replace directory mydir as 'e:\temp';
exec FileToClob('NC_000854','MYDIR','temp.txt');
其中FileToClob是我的存储过程名称,FileToClob(p_accid IN VARCHAR2,p_Directory IN VARCHAR2,p_FileName IN VARCHAR2)三个参数都是VARCHAR型的,第二个是路径,e:\temp\temp.txt的确存在,可它报错说:对不存在的目录或文件进行FILEOPEN操作!
这是怎么回事呢?