问题描述
我有一个大的 (超过4000字节) 非结构化BLOB列的遗留表,其中包含由从XSD创建的JAXB创建的类编组生成的XML。XSD根架构引用多个导入的架构。表中的每个BLOB可以引用不同的根架构,并具有一个类型字段,该字段指示它遵循哪个XSD。典型的用途是存储或检索整个斑点。
当模式更改时,我们使用基于Java的XSL转换将现有数据迁移到内存中的新模式版本,并使用最新的模式对其进行卸载。我们不更新现有的BLOB。
我正在寻找一种更灵活的方法来处理模式更改以及更新特定模式属性和元素的值。这通常是在部署新构建时迁移现有数据时完成的。
我已经想到从BLOB列中读取每一行到内存中的XMLType,执行更改,将其转换为BLOB并更新列。
你能建议一个更好的方法吗?正如我提到的,BLOB是非结构化的,允许将符合新模式的数据添加到列中。我不希望每个模式方法都使用一个表。
当模式更改时,我们使用基于Java的XSL转换将现有数据迁移到内存中的新模式版本,并使用最新的模式对其进行卸载。我们不更新现有的BLOB。
我正在寻找一种更灵活的方法来处理模式更改以及更新特定模式属性和元素的值。这通常是在部署新构建时迁移现有数据时完成的。
我已经想到从BLOB列中读取每一行到内存中的XMLType,执行更改,将其转换为BLOB并更新列。
你能建议一个更好的方法吗?正如我提到的,BLOB是非结构化的,允许将符合新模式的数据添加到列中。我不希望每个模式方法都使用一个表。
专家解答
如果可以的话,一次性更新将现有数据从BLOB存储迁移到XMLType将使该过程更容易,因为您没有正在进行的BLOB <> XMLType转换。您仍然可以在此列中存储具有不同结构的文档。
否则,您的过程听起来不错-如果您可以分享一个确切计划如何执行此操作的示例,我们可以提供更详细的反馈。
否则,您的过程听起来不错-如果您可以分享一个确切计划如何执行此操作的示例,我们可以提供更详细的反馈。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




