将XML文件加载到表中时,“文件或LOB操作FILEOPEN失败”

问题描述 投票:0回答:1

我正在使用11gr2并尝试将XML文件加载到表中。

这是代码:

连接为sys:

GRANT ALL ON DIRECTORY XMLDIR TO user_1;

切换到user_1:

CREATE TABLE mytable1 (key_column VARCHAR2(10) PRIMARY KEY, 
                       xml_column XMLType);

CREATE DIRECTORY xmldir AS 'F:\OracleTestFiles\XMLs\';

XML文件:

<PurchaseOrder 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation=
    "http://localhost:8080/source/schemas/poSource/xsd/purchaseOrder.xsd">
  <Reference>SBELL-2002100912333601PDT</Reference>
  <Actions>
    <Action>
      <User>SVOLLMAN</User>
    </Action>
  </Actions>
  <Reject/>
  <Requestor>Sarah J. Bell</Requestor>
  <User>SBELL</User>
  <CostCenter>S30</CostCenter>
  <ShippingInstructions>
    <name>Sarah J. Bell</name>
    <address>400 Oracle Parkway
      Redwood Shores
      CA
      94065
      USA</address>
    <telephone>650 506 7400</telephone>
  </ShippingInstructions>
  <SpecialInstructions>Air Mail</SpecialInstructions>
  <LineItems>
    <LineItem ItemNumber="1">
      <Description>A Night to Remember</Description>
      <Part Id="715515009058" UnitPrice="39.95" Quantity="2"/>
    </LineItem>
    <LineItem ItemNumber="2">
      <Description>The Unbearable Lightness Of Being</Description>
      <Part Id="37429140222" UnitPrice="29.95" Quantity="2"/>
    </LineItem>
    <LineItem ItemNumber="3">
      <Description>Sisters</Description>
      <Part Id="715515011020" UnitPrice="29.95" Quantity="4"/>
    </LineItem>
  </LineItems>
</PurchaseOrder>

insert语句:

INSERT INTO mytable1 VALUES ('1a', XMLType(bfilename('XMLDIR', 'PurchaseOrder.xml'), nls_charset_id('AL32UTF8')));

当我执行INSERT语句时,我收到以下错误:

错误报告 - ORA-22288:文件或LOB操作FILEOPEN失败系统找不到指定的路径。 ORA-06512:在“SYS.XMLTYPE”,第296行ORA-06512:在第1行

有人能解释一下有什么问题吗?

我应该在操作系统中授予其他权限(Windows 7)吗?

sql xml oracle sql-insert
1个回答
0
投票

我发现了这个问题。硬盘驱动器上目录的虚拟位置位于映射驱动程序(F :)上。

我在C上改变了它,现在它就像一个魅力。

© www.soinside.com 2019 - 2024. All rights reserved.