WEB开发网
开发学院数据库DB2 非 Unicode 数据库中的 XML 阅读

非 Unicode 数据库中的 XML

 2009-11-28 00:00:00 来源:WEB开发网   
核心提示:V9 中的 XML 支持在 DB2 9 中,将 XML 数据包括在数据库中的惟一方法是让数据库使用 UTF-8 码集,非 Unicode 数据库中的 XML,即使 XML 数据中只包含 ASCII 代码点,这个限制也仍然有效,如果书的题目或文本包含当前数据库的字符集以外的字符会怎样?为什么要将这个表限制为每本书只有两个

V9 中的 XML 支持

在 DB2 9 中,将 XML 数据包括在数据库中的惟一方法是让数据库使用 UTF-8 码集。即使 XML 数据中只包含 ASCII 代码点,这个限制也仍然有效。XML 是以二进制格式存储在数据库中的,文本节点被存储为 UTF-8 代码点。在 DB2 9 中,不会对 XML 文档进行转换,因此必须以一系列的 UTF-8 字节的形式将 XML 文档插入到数据库中。 DB2 Viper 2 版解除了这一限制,即所有使用 pureXML 特性的数据库必须以 Unicode 方式创建。本文解释非 Unicode 数据库中的 XML 支持,以及如何在保证数据完整性的情况下安全地插入和查询 XML 文档。

例子场景:在不必迁移至 Unicode 码集的情况下迁移至 pureXML

假设您是一个已有的非 Unicode DB2 数据库的数据库管理员(DBA),该数据库包含一个用于编目图书馆中的书籍的表。目前,这个表具有以下形式:


清单 1. 示例关系模式

 CREATE TABLE BOOKCAT 
 (TITLE      VARCHAR(400) NOT NULL, 
 AUTHOR_LAST   VARCHAR(50) NOT NULL, 
 AUTHOR_FIRST   VARCHAR(50), 
 PUBLISHER    VARCHAR(100), 
 DATE_PUB     DATE NOT NULL, 
 ISBN       BIGINT NOT NULL PRIMARY KEY, 
 KEYWORD1     CHAR(20), 
 KEYWORD2     CHAR(20), 
 FIRST_PARA    CLOB(2K)); 

然而,在非 Unicode 关系表中,对于表中的数据有一些限制。如果书的题目或文本包含当前数据库的字符集以外的字符会怎样?为什么要将这个表限制为每本书只有两个关键字?如果对于一个新的条目,关键字太大怎么办?如果一本书有一个未知的出版日期,或者有多个作者,怎么办?

1 2 3 4 5 6  下一页

Tags:Unicode 数据库 XML

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接