如何测试Oracle目录的读/写文件系统权限?

2024-02-21

假设您创建一个目录,例如:

CREATE OR REPLACE DIRECTORY 
EXT_DATA_FILES AS 
'/data/ext_data_files';
GRANT READ, WRITE ON DIRECTORY SYS.EXT_DATA_FILES TO MYAPPUSER;

我想知道 Oracle 是否能够在该路径中读取和写入文件。我怎样才能测试它?

在创建外部表时,这对我有很大帮助,以避免与权限错误真正相关的模糊错误消息。


您可以使用UTL_FILE包裹。例如,这将验证您是否可以创建一个名为的新文件some_new_file_name.txt写入目录并写入数据

DECLARE
  l_file utl_file.file_type;
BEGIN
  l_file := utl_file.fopen( 'EXT_DATA_FILES', 'some_new_file_name.txt', 'W' );
  utl_file.put_line( l_file, 'Here is some text' );
  utl_file.fclose( l_file );
END;

这将验证名为的文件existing_file_name.txt存在并且可读

DECLARE
  l_exists     boolean;
  l_size       integer;
  l_block_size integer;
BEGIN
  utl_file.fgetattr( 'EXT_DATA_FILES', 
                     'existing_file_name.txt', 
                     l_exists, 
                     l_size, 
                     l_block_size );
   if( l_exists )
   then
     dbms_output.put_line( 'The file exists and has a size of ' || l_size );
   else
     dbms_output.put_line( 'The file does not exist or is not visible to Oracle' );
   end if;
END;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何测试Oracle目录的读/写文件系统权限? 的相关文章

随机推荐

  • 在结构体中声明 int 数组

    在C中 我定义了struct见下文 并希望内联初始化它 结构体内部的字段和数组都不是foos初始化后会改变 第一个块中的代码工作正常 struct Foo int bar int some array typedef struct Foo
  • Supervisord - 在supervisord.conf中使用变量

    转移到使用监督者 http supervisord org 作为过程控制系统 我有一个LONG并在我的supervisord conf中重复ENVIRONMENT配置 为很多进程设置很多环境变量 我需要将其定义在一处并重用它 以保持配置干燥
  • 我正在尝试直接连接到 abfss(无需安装到 DBFS)并尝试使用 databricks 中的 open() 打开 json 文件

    我正在尝试直接连接到 abfss 无需安装到 DBFS 并尝试使用 databricks 中的 open 方法打开 json 文件 json file open abfss dfs core windows net test json da
  • 非 ASCII 字符声明

    我想存储一个字符 以便将其与其他字符进行比较 如果我像这样声明变量 char c 一切正常 但我收到这些警告 warning multi character character constant Wmultichar char c ii c
  • 将无符号类型写入 Netty ChannelBuffer

    Netty 的 ChannelBuffer 类提供了从 ChannelBuffer 读取无符号类型的便捷方法 但是似乎没有任何等效的方法用于将无符号类型写入 ChannelBuffer 我觉得我一定错过了什么 推荐的方法是什么 例如将无符号
  • 将文件夹拆分为具有一定大小的较小文件夹

    我试图将一个文件夹划分为最大大小为 8 GB 的文件夹 起始文件夹 Folder 1 2KB file 2GB file 7GB file Folder 2 1GB file 5 6GB file Folder 3 8GB file 我想把
  • 在面向 iOS 7 的项目中导入 Alamofire

    我检查了新的 Alamofire 安装步骤 由于我需要针对 iOS 7 0 我想知道是否导入Alamofire swift是否足以使其发挥作用 为什么文档指出将函数包装在Struct Alamofire 是否需要调用命名空间中的函数 在这种
  • SQL 将数据从临时表插入到另外两个表中

    我遇到过这样的情况 将 CSV 上传到我的应用程序 并且每一行基本上都需要放入数据库中 我读取每一行并构建一个数据表 然后 SqlBulkCopy 该表到临时表 暂存表如下所示 UserID GroupID FirstName LastNa
  • 确定日期开始的时间

    假设我想创建一个每日计划表 并且我想将一天分为 15 分钟的部分 容易 对吧 就从午夜开始 然后 错了 在美洲 圣保罗 由于夏令时的变化 每年的某一天从 01 00 开始 给定一个时区和一个日期 如何找到一天开始的纪元时间 我的第一个想法是
  • VB.Net - AssemblyFileVersion 和 AssemblyFileVersionAttribute 以及 AssemblyVersion 和 AssemblyVersionAttribute 之间有什么区别

    我继承了 VB Net 代码库 该代码库是 VB 2005 并升级到 VB 2008 其中包含大约 100 个项目 我正在尝试重新版本所有组件 但发现某些 AssemblyInfo vb 文件具有AssemblyFileVersion条目
  • 如何使 Angular ui 网格最初展开所有行?

    我正在使用 ui 网格来显示数据列表 并且我正在尝试最初展开所有行 我试图在 onRegisterApi 事件中执行此操作 scope GridOptions data properties columnDefs name Full Add
  • 如何将列表中的所有元素划分在一起

    例如 a 1 2 3 4 5 6 我想要做 1 2 3 4 5 6 我尝试过使用operator div函数 但似乎没有给出正确的结果 顺便说一句 我对 python 还很陌生 您可以使用reduce https docs python o
  • 动态“case_when”允许不同数量的条件和条件本身

    我正在寻找一种动态方法来指定一些 条件参数 然后将其提供给case when操作或其他更适合该问题的操作 我的目标是将条件规范与 case when 调用分开 例如这样用户只需在文本文件或 R 中的列表中输入条件 然后我将获取该信息并将其提
  • 防止图像缓存在浏览器中

    我有一个 浏览图片 功能 其中有缩略图 当用户单击它时它会展开 现在 这两个图像都存储在不同大小的单独虚拟目录中 较大的是 200 200 px 当我点击放大时 它仍然只显示较小的图像 而不是 200 200 的图像 您可以将随机 URL
  • Django - 通过模型名称获取 ContentType 模型(通用关系)

    我现在正在思考这个问题一段时间 我正在创建一个聊天应用程序 在 chat models 中指定了 Room 类 但是 Room 可以与我的项目中的任何内容相关 因为它在外键中使用通用关系 有没有办法只知道模型名称就知道 Room 与哪个模型
  • 如何在 MySQL GROUP BY 子句中排序或选择行?

    我有一个这样的表 id number otherfields 664 48 aaa 665 49 bbb 666 55 ccc 667 48 ddd 我的查询分组为number字段 我希望它选择第一个 最低 id 这样数据就出来了ccc a
  • Angularjs - 自定义 $resource

    我用角 resource用于 REST 服务 由于我的 get 响应中的怪癖 我无法将 resource 服务用于 CRUD 应用程序 创建一个新对象work Card的day 类似于 var newCard new CreditCard
  • Newtonsoft 中的 JSON null 处理问题

    我有一个问题null交易时处理Newtonsoft json 我想检查结果是null或不 基于此我想处理一些情况 我的代码如下 try var response GetApiData Post getApiBaseUrl data ToSt
  • Alt+Enter 停止在 IntelliJ 中处理 Dart 文件

    构建 Flutter 应用程序时ALT Enter键盘快捷键非常方便 不仅可以调出快速修复 还可以调出弹出菜单来包装 删除小部件 在我跑步之前它工作得很好flutter upgrade并更新了 IntelliJ 中的 Dart 和 Flut
  • 如何测试Oracle目录的读/写文件系统权限?

    假设您创建一个目录 例如 CREATE OR REPLACE DIRECTORY EXT DATA FILES AS data ext data files GRANT READ WRITE ON DIRECTORY SYS EXT DAT