DBMS_XMLSCHEMA.REGISTERSCHEMA()
超載採取幾種不同的類型:
DBMS_XMLSCHEMA.REGISTERSCHEMA(
schemaurl IN VARCHAR2,
schemadoc IN VARCHAR2,
local IN BOOLEAN := TRUE,
gentypes IN BOOLEAN := TRUE,
genbean IN BOOLEAN := FALSE,
gentables IN BOOLEAN := TRUE,
force IN BOOLEAN := FALSE,
owner IN VARCHAR2 := NULL,
enablehierarchy IN PLS_INTEGER := DBMS_XMLSCHEMA.ENABLE_CONTENTS,
options IN PLS_INTEGER := 0);
注意到schemadoc
參數爲VARCHAR2
,在PL/SQL中爲limited to 32,767 bytes。
DBMS_XMLSCHEMA.REGISTERSCHEMA(
schemaurl IN VARCHAR2,
schemadoc IN CLOB,
local IN BOOLEAN := TRUE,
gentypes IN BOOLEAN := TRUE,
genbean IN BOOLEAN := FALSE,
force IN BOOLEAN := FALSE,
owner IN VARCHAR2 := NULL,
options IN PLS_INTEGER := 0);
注意到schemadoc
參數作爲CLOB
是limited to 128TB。
您沒有指定用於調用該過程的數據類型,但看起來您正在傳遞一個VARCHAR2
,並且您可能想要傳遞一個CLOB
(或具有較大限制的其他類型之一)。
來源
2016-07-06 19:36:35
MT0
謝謝你的答覆。 我試圖執行如下: DECLARE schemaURL VARCHAR2(50); schemaDoc CLOB; BEGIN dbms_xmlschema.registerSchema(schemaURL =>「xsd2.xsd」, schemaDoc =>「大型XML架構」 END; – Kumar
但我仍然有同樣的錯誤消息 – Kumar
你還在用字符串字面稱它不是一個CLOB。試試:'DECLARE schemaURL VARCHAR2(50); schemaDoc CLOB:='large XML schema'; BEGIN dbms_xmlschema.registerSchema(schemaURL =>'xsd2.xsd',schemaDoc => schemaDoc); END;' – MT0