暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle ORA 29283 : Windows Server 2012上的文件操作无效

askTom 2016-05-17
442

问题描述

嗨大家

我可能是在某个角落里跑或者没有看到什么明显的东西。感谢任何帮助来解决这个问题。


我们正在windows server2012上运行Oracle数据库标准版。我们正在尝试将一个函数的文件输出写到这个windows框中的目录中。然而,我们得到以下错误。当我在我的本地笔记本电脑上测试相同的代码( oracle11g Express)时,我没有得到这个错误。

功能:

创建或替换函数"F_FOOTER2"返回CLOB AS
PS_FOOTER2 CLOB ;
开始

SELECT'
<保留列表/>'
进入PS_FOTTER2
来自NLS_DATABASE_参数
其中参数='NLS_CHARACTSET'
;


DBMS_XSLPROCESSOR.CLOB2FILE ( PS_FOOTER2 ,'OUTPUT_INT_XML','脚注2.xml') ;

返回PS_FOOTER2 ;
结束F_FOTTER2 ;






错误:

ORA 29283 :无效的文件操作
ORA-06512 : "SYS.UTL_FILE" ,第536行
ORA 29283 :无效的文件操作
ORA-06512 :“XDB.DBMS_XSLPROCESSOR”,第121行
ORA-06512 :“PS_TMP.F_FOOTER2”,第13行
ORA-06512 :在第5行



我们尝试/验证过的东西:

1、已定义好的目录,实际目录存在于windows驱动器中。(这不是共享驱动器,而是本地驱动器)

2.数据库中的此目录是在SYS下定义的,但是运行上述代码的架构/用户已被授予对此目录的读写权限

在windows服务器上,模式用户被定义为对我们创建输出文件的windows目录具有完全访问权限(读、写、执行)的用户。

4.在定义了所有这些参数/目录等之后,我们跳转了数据库

5.我们能够将数据从这个目录加载到数据库中,所以我们知道“读取”部分正在工作

专家解答

好的,一个基本的测试显示了它的*潜力*工作: -)

<代码>
SQL>创建或替换过程f_xsl AS
2个PS_FOTTER2 CLOB ;
3开始
4 SELECT'
5 <保留列表/>'
6进入PS_FOTTER2
7来自双通道;
8
9 DBMS_XSLPROCESSOR.CLOB2FILE ( PS_FOOTER2 ,'TEMP','页脚2.xml') ;
10
11结束;
12

过程已创建。

SQL>执行f_xsl

PL/SQL过程已成功完成。
<代码>

所以我假设它是你周围的地方。

启动服务,并检查数据库运行在哪个帐户下(可能是本地系统,也可能是其他帐户)。这将是执行文件创建的(Windows)帐户。因此, (Windows)帐户需要在您要写入的文件夹上具有适当的操作系统权限。

验证此理论的另一种方法是暂时将该文件夹更改为“每个人都完全控制”,然后查看数据库是否可以写入该文件夹。

希望这个能帮上忙。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论