Windows UTL_FILE.FGETATTR为块大小返回0

Windows UTL_FILE.FGETATTR为块大小返回0,windows,oracle,oracle19c,utl-file,Windows,Oracle,Oracle19c,Utl File,使用UTL_FILE.FGETATTR时,块大小每次返回0。我可以得到文件长度等,但块大小返回0。原因是什么?我该如何解决? 操作系统:Windows 10 DB:19c 我只是发布了每个人都知道的答案,你可以将问题标记为已回答。这或多或少是我们在评论部分所谈论的一切的回忆 在Windows平台上,UTL_FILE.fgettr过程返回0而不是 正确的块大小,即使文件存在。Windows平台不提供任何系统子程序来获取文件系统I/O块大小,因此它返回0,这是预期的行为 尽管对9i/10g进行了预

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



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

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

尽管对9i/10g进行了预测和记录,但该问题在12c、18c和19c上也可重现


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

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

尽管对9i/10g进行了预测和记录,但该问题在12c、18c和19c上也可重现


你能举个例子吗?因为如果文件存在,它应该返回块sizeI相信它与Windows有关。因为我在Linux上做了相同的测试,并且它可以正常工作(相同的数据库版本),所以您是否在其他目录中尝试过?也许问题出在windows 10上,它不是windows server os版本。我无法在windows上进行测试:(我认为这在windows上仍然是意料之中的;请参阅Oracle支持上的Doc ID 274466.1。它只涉及9i/10g,但看不出它可能已经更改。(如果是这样的话,看起来像是一个文档错误…@AlexPoole,很好的捕获。确实这就是原因;)我只是和一位技术支持人员核实一下,该文档适用于每个Oracle版本,尽管上面说只有9i/10g。您能举个例子吗?因为如果文件存在,它应该返回块sizeI相信它与Windows有关。因为我在Linux上做了相同的测试,并且它可以正常工作(相同的数据库版本),所以您是否在其他目录中尝试过?也许问题出在windows 10上,它不是windows server os版本。我无法在windows上进行测试:(我认为这在windows上仍然是意料之中的;请参阅Oracle支持上的Doc ID 274466.1。它只涉及9i/10g,但看不出它可能已经更改。(如果是这样的话,看起来像是一个文档错误…@AlexPoole,很好的捕获。确实这就是原因;)我只是和一位技术支持人员核实一下,该文档适用于每一个Oracle版本,尽管它只说9i/10g。
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;
PL/SQL procedure successfully completed.

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