首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UTL_FILE.FGETATTR返回块大小为0

UTL_FILE.FGETATTR返回块大小为0
EN

Stack Overflow用户
提问于 2020-08-27 07:59:49
回答 1查看 783关注 0票数 0

当我使用UTL_FILE.FGETATTR时,块大小每次返回0。我可以获得文件长度等,但块大小返回0。原因是什么,我该如何解决呢?操作系统: Windows 10 DB :19 C

代码语言:javascript
运行
复制
DECLARE
    v_fexists       BOOLEAN;
    v_file_length   NUMBER;
    v_block_size    BINARY_INTEGER;
BEGIN
    UTL_FILE.FGETATTR ('TEST_DIR','temp file.txt',v_fexists,v_file_length,v_block_size);
    IF v_fexists THEN
        DBMS_OUTPUT.PUT_LINE('The file exists');
        DBMS_OUTPUT.PUT_LINE('Its length is     :'||v_file_length);
        DBMS_OUTPUT.PUT_LINE('Its block size is :'||v_block_size);
    ELSE
        DBMS_OUTPUT.PUT_LINE('The file does not exist!');
    END IF;
END;
代码语言:javascript
运行
复制
PL/SQL procedure successfully completed.

The file exists
Its length is     :2794
Its block size is :0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-30 19:11:37

我只是张贴的答案,每个人都知道,你可以标记问题的答案。这或多或少是我们在评论部分所谈论的一切的回忆。

在Windows平台上,即使文件存在,UTL_FILE.FGETATTR过程也返回0而不是正确的块大小。Windows平台不提供任何系统子程序来获取文件系统I/O块大小,因此它返回0,这是预期的行为。

虽然对9i/10g进行了预测和记录,但在12c、18c和19c上也是可重现的。

链接到支持说明

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63611610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档