DECLARE
attachments shr_pkg_send_mail.array_attachments:=shr_pkg_send_mail.array_attachments();
b_input_file BFILE:= BFILENAME('mount_dir', 'test02.txt');
c_output_file CLOB;
BEGIN
--DBMS_OUTPUT.PUT_LINE(c_output_file);
dbms_lob.open(b_input_file, DBMS_LOB.LOB_READONLY);
-- DBMS_OUTPUT.PUT_LINE('1');
dbms_lob.createtemporary(lob_loc => c_output_file, cache => false);
--DBMS_OUTPUT.PUT_LINE('2');
dbms_lob.open(c_output_file, DBMS_LOB.LOB_READWRITE);
--DBMS_OUTPUT.PUT_LINE('3');
dbms_lob.loadfromfile(c_output_file, b_input_file, DBMS_LOB.LOBMAXSIZE);
--DBMS_OUTPUT.PUT_LINE('4');
dbms_lob.close(b_input_file);
--DBMS_OUTPUT.PUT_LINE('5');
attachments.extend(1);
attachments(1).attach_name := 'test02.txt';
attachments(1).data_type := 'text/plain';
attachments(1).attach_content := c_output_file; SHR_PKG_SEND_MAIL.SEND_MAIL('EthicsandComplianceITSupport_ORG@dl.mgd.novartis.com','mansi.kekre@novartis.com','test','test',attachments => attachments);
dbms_lob.close(c_output_file);
END ;
错误
ORA-22285: FILEOPEN操作不存在的目录或文件
ORA-06512:"SYS.DBMS_LOB",第1014行
ORA-06512:第8行
发布于 2016-05-25 06:44:44
获取目录路径
select directory_path from all_directories where directory_name='MOUNT_DIR'
检查此路径是否存在于数据库服务器和oracle是否具有读取访问权限。
检查文件'test02.txt‘是否退出此路径并可访问。
给这个目录拨款
GRANT READ, WRITE ON DIRECTORY MOUNT_DIR TO <some_user>;
这里很有趣,如何使用select查看目录中的文件,但是您应该可以访问SYS用户。
https://stackoverflow.com/questions/37431023
复制