oracle proedure 文件_关于oracle存储过程读取文件

你的位置:

问答吧

-> Oracle

-> 问题详情

关于oracle存储过程读取文件

问题:我知道只能读取固定目录的文件,我想问的是

1,文件名可以通过参数传入存储过程中吗?

2,怎么实现?比如,需要什么特殊的权限吗?

作者: lijinlin_love

发布时间: 2010-10-15

不能,存储过程要读取文件,首先要创建该文件的目录

作者: ojuju10

发布时间: 2010-10-15

UTL_FILE.FOPEN 函数中可以指定目录和文件名,现在我是想目录固定,而文件名通过参数传入

这样不能实现吗

作者: lijinlin_love

发布时间: 2010-10-15

可以的。而且就是目录是动态的也可以。只是在存储过程中要做动态处理。我曾经实现过。

作者: xfcy800

发布时间: 2010-10-15

三楼 谢谢你的回答

再问一个问题

2,有什么特殊要求吗?比如,需要什么授权吗

因为现在我不是以DBA的身份登录的

作者: lijinlin_love

发布时间: 2010-10-15

需要授权的。比如你要对用户user1授目录/home/oracle/test/的读写授权;

CREATE DIRECTORY read_dir AS '/home/oracle/test/';

执行 grant READ,WRITE ON DIRECTORY read_dir TO user1;即可

UTL_FILE.fopen ('read_dir', DOC_NAME, 'R'); --读取文件 DOC_NAME为传入的文件名称参数

作者: xfcy800

发布时间: 2010-10-15

引用 2 楼 lijinlin_love 的回复:

UTL_FILE.FOPEN 函数中可以指定目录和文件名,现在我是想目录固定,而文件名通过参数传入

这样不能实现吗

先创建目录,后将目录传递参数进去,可以实现

作者: ojuju10

发布时间: 2010-10-15

GRANT CREATE ANY DIRECTORY to user;

GRANT drop ANY DIRECTORY to user;

GRANT alter ANY DIRECTORY to user;

作者: ojuju10

发布时间: 2010-10-15

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值