你知道如何解決這個錯誤嗎?該檔案存在于我的計算機上,但出了點問題。我創建了一個 XML 檔案,后來我為它創建了一個模式 ( .xsd),現在我想將模式檔案與我的 oracle 資料庫連接起來,在這個函式之后,我將為這個模式創建一個表。
我也嘗試將檔案放在 oracle 目錄中,但沒有幫助。
BEGIN
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => 'http://xmlns.oracle.com/xdb/documentation/peldesana.xsd',
SCHEMADOC => bfilename('MAPE','peldesana.xsd'),
LOCAL => TRUE,
GENTYPES => FALSE,
GENTABLES => FALSE,
CSID => nls_charset_id('AL32UTF8'));
END;
錯誤:
ORA-22285:FILEOPEN 操作的目錄或檔案不存在 ORA-06512:在“SYS.DBMS_LOB”,第
822 行
ORA-06512:在“XDB.DBMS_XMLSCHEMA”,第 131 行
ORA-06512:在第 2 行
222005 -0000 “%s 操作的目錄或檔案不存在”*原因:試圖訪問不存在的目錄,或試圖訪問不存在的目錄中的檔案。
*操作:確保資料庫字典中存在與指定目錄對應的系統物件,或確保名稱正確。
uj5u.com熱心網友回復:
創建目錄是不夠的。
目錄,指向檔案系統目錄(檔案夾)的物件,由SYS.
SQL> connect sys as sysdba
Enter password:
Connected.
SQL> create or replace directory xml_dir as 'c:\temp';
Directory created.
然后,您必須將該目錄的權限授予將使用它的用戶。如果您只從中讀取資料,請授予read;如果您還要在那里創建檔案,請授予write:
SQL> grant read, write on directory xml_dir to scott;
Grant succeeded.
SQL>
現在,用戶scott將能夠訪問其中的目錄和檔案。
uj5u.com熱心網友回復:
最后,我再次生成了 .xsd 檔案(使用相同的 .xml 檔案)。然后我又添加了一行(OPTIONS => 2),現在一切正常。
BEGIN
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => 'http://xmlns.oracle.com/xdb/documentation/peldesana2.xsd',
SCHEMADOC => bfilename('INPUT_DIR','peldesana2.xsd'),
LOCAL => TRUE,
GENTYPES => FALSE,
GENTABLES => FALSE,
CSID => nls_charset_id('AL32UTF8'),
OPTIONS => 2);
END;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/401049.html
