首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用dbms_xmlschema.registerschema时ORA-03113

使用dbms_xmlschema.registerschema时ORA-03113
EN

Stack Overflow用户
提问于 2012-08-21 14:07:16
回答 2查看 1.4K关注 0票数 0

我正在尝试注册一个Xml模式来验证一些xml文档,使用Oracle plsql存储过程。这是一段代码:

代码语言:javascript
复制
begin
    dbms_xmlschema.registerschema(
         schemaurl => 'http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd',
         SCHEMADOC => bfilename('XMLDIR','xmldsig-core-schema.xsd'),
         local => false,
         gentypes => false,
         gentables => false,
    );
end;

我的XML不是本地的,所以我必须将本地设置为false。我精确地指出,所有这些状态都是在SYS用户下执行的。

我已经创建了一个目录,并使用以下命令授予每个人访问权限:

代码语言:javascript
复制
create or replace directory XMLDIR as '/absolute/path/to/xmlschema';
create public synonym XMLDIR for XMLDIR;
GRANT ALL ON DIRECTORY XMLDIR TO PUBLIC;

我注意到,如果在运行第一个plsql块之前磁盘上不存在文件xmldsig-core-schema.xsd,则结果是ORA-22288错误(文件或LOB操作字符串失败)。所以我以前创建了xmldsig-core-schema.xsd文件。

当我运行*dbms_xmlschema.registerschema...*时,我在通信通道上得到错误ORA-03113 :文件结束。

怎么了?有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2012-08-21 14:58:32

由于代理或防火墙问题,DTD可能无法访问。您可以从XML模式中删除或注释DTD引用,并尝试注册它。

如果希望能够在不编辑模式的情况下注册模式,则需要确保在尝试注册模式之前,可以使用httpuritype()访问DTD的URL,而不会出现任何错误。

代码语言:javascript
复制
select httpuritype('http://www.w3.org/2001/XMLSchema.dtd').getClob() from dual;
票数 0
EN

Stack Overflow用户

发布于 2015-04-04 22:38:10

ORA-03113意味着您的连接已失效。由于某种原因,您的客户端计算机和数据库服务器停止了对话。可能性:

  • 服务器坏了?
  • 你的网络电缆有问题吗?
  • 过程被杀了?
  • 原木满了?
  • 甲骨文内部错误?

看看你的警报日志。这里有更多信息:如何解决Oracle11g中的错误消息ORA-03113?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12056679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档