ORA-31161: element or attribute “string” cannot be stored out of line
Cause: An element or attribute of a simple type has SQLInline=false
Action: Remove the SQLInline=false qualification for the offending element or attribute
:
ORA-31161: element or attribute “string” cannot be stored out of line 错误意味着在执行存储过程时无法将 XML 文档的元素或属性存储到行外。
改错误的官方解释是:“参数无效;XML 元素或属性’string’不能被存储到行外”。
常见的案例是,XML 元素的类型与系统中的列类型不匹配,或是在试图将 XML 元素或属性存储到行外时发生了非法错误(如堆叠溢出)。
1.检查请求传输是否有错误,确保 XML 元素的类型正确大小写。
2.如果对比确认类型和大小写无毛病,建议检查XML文档并确保其格式是正规的。
3.尝试在行外存储之前,把 XML 文档转换为 CLOB 类型,以便执行存储操作。
4.如果元素存储后正常,可能需要升级数据库服务器以获取新的支持类型。