是否可以从oracle数据库访问我电脑上的文件夹?换句话说,数据库没有安装在我的本地机器上,我在我的PC上创建了一个文件夹'C:\ LOB',我想保存从数据库中检索到的图像,但是它正在返回
ORA-29283错误:文件操作无效。
我确信该目录已创建,因为我可以在数据库的目录文件夹中看到它。那可能是什么问题呢?是因为文件夹是在我的电脑上创建的,而数据库是在其他地方? 以下是我的程序:
CREATE OR REPLACE PROCEDURE BLOB_UPDATE (file_name in varchar) IS
file_ref UTL_FILE.file_type;
raw_max_size constant number := 32767;
begin
file_ref := UTL_FILE.fopen('MY_DIR', file_name, 'WB', raw_max_size);
-- Here it stops working ! --
....
utl_file.fclose(file_ref);
END BLOB_UPDATE;
答案 0 :(得分:3)
PL / SQL在数据库系统中运行,即在服务器上运行。它只能访问服务器上的文件。它不能是您PC上的文件。
即使您已在Oracle(CREATE DIRECTORY ...
)中定义了目录并授予了对用户足够的访问权限,它也会失败,因为Oracle将尝试访问服务器上的C:\LOB
而不是PC上的UILabel
您尝试实现的目标无法在服务器端解决,即无法在PL / SQL中解决。您必须编写在客户端(即在您的PC上)运行的代码,例如一些Java或.NET程序。