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

时间:2017-12-27 10:14:28

标签: sql xml oracle sql-insert

我正在使用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 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)?

1 个答案:

答案 0 :(得分:0)

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

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