WEB开发网
开发学院数据库DB2 DB2 9 Viper快速入门 阅读

DB2 9 Viper快速入门

 2007-06-05 14:57:06 来源:WEB开发网   
核心提示:图 5. DB2 IMPORT 的示例输出独立软件供应商,例如 Exegenix,DB2 9 Viper快速入门(3),提供了将 Word、PDF和其他文档格式转换成 XML 的工具,以便于导入到 DB2 中,这类似于把一个复杂的应用程序或组件分解为多个模块,关于这个主题的细节,(参见 参考资料,获得关于 Exegen
图 5. DB2 IMPORT 的示例输出



独立软件供应商,例如 Exegenix,提供了将 Word、PDF和其他文档格式转换成 XML 的工具,以便于导入到 DB2 中。(参见 参考资料,获得关于 Exegenix 的更多信息。)

验证 XML 数据

INSERT 和 IMPORT 示例只是讨论向表中写入格式良好的 XML 数据。它们并不对数据进行验证 —— 也就是说,它们不验证数据是否符合特定的 XML 模式,并因此坚持使用确定的结构。控制 DB2 那么做是可能的,然而,还是让我们研究另外一种方式来完成这项任务:

步骤 1:创建 XML 模式

为了验证 XML 数据,您需要定义一个 XML 模式,来指定可接受的 XML 元素、它们的顺序和数据类型,等等。 XML 模式是一个 W3C 行业标准并且是用 XML 编写的。尽管解释 XML 模式的特性超出了本文的范畴,但是 Web 上有各种教程可供参考(参见 “参考资料”)。

有许多方式可以开发 XML 模式,从使用您喜爱的文本编辑器到手动创建模式,再到使用工具图形化地设计或生成模式。独立软件供应商,例如 MDXSYS Limited,提供了这样的 XML 工具,IBM 也通过它的 Java™ 集成开发环境提供了 XML 模式生成支持。

例如,使用 IBM WebSphere® Studio,您可以将 Client3227.xml 文件(如 图 3 所示)导入到 Web 项目中。使用鼠标右击,并选择 Generate -> XML Schema。这将为特定的输入文件生成一个有效的 XML 模式,如 图 6 所示。然后您就可以修改该文件(如果需要)并将其注册到 DB2。

图 6. 使用 WebSphere Studio 从一个 XML 文件生成 XML 模式



让我们假定您需要使 XML 模式相当灵活,从而使您可以收集不同顾客不同类型的联系信息。例如,某些顾客可能向您提供多个电话号码或电子邮件地址,而其他顾客则没有提供这么多。

图 7 所示的 XML 模式源自 WebSphere Studio 生成的模式,提供了这种灵活性。它包括关于给定元素所允许的最小和最大出现次数(“minOccurs” 和 “maxOccurs”)的附加规范。在本例中,不要求顾客向您提供任何您想要收集的联系信息。然而,如果顾客选择给您电子邮件信息,该模式将启用一致性文档来包含最多 5 个电子邮件地址(即 5 个 “email” 元素值)。

图 7. 用于客户联系信息的示例 XML 模式



就像您已经注意到的那样,XML 模式也包含类型信息。尽管 图 7 所示的模式只指定所有的基本元素都被视为字符串,但是大部分生产 XML 模式也使用其他数据类型,比如整数、小数、日期,等等。如果您针对一个作为 INSERT 或 IMPORT 操作一部分的给定模式来验证 XML 文档,那么 DB2 将自动向您的 XML 文档添加类型注释。

步骤 2: 注册 XML 模式

创建了一个适当的 XML 模式之后,您就需要向 DB2 注册该模式。IBM 提供多种方式来完成这项任务。您可以从 DB2 Control Center 运行图形化的向导来指导您完成该过程,调用系统提供的存储过程,或直接发出 DB2 命令。在此让我们使用第二种方法,因为它能够帮助您更容易地理解在您那一端 DB2 实质上进行的操作。

如果您的模式非常大,您可能需要在尝试注册它之前增加应用程序堆的大小。例如,发出下列语句:

清单 4. 增加应用程序堆大小

connect to test;

update db cfg using applheapsz 10000;

接下来,注册您的 XML 模式。如果您的 XML 模式没有引用其他 XML 模式,您可能需要用单个命令来注册并完成该过程。否则您还将需要发出单个命令来注册您最初的 XML 模式,添加其他需要的模式并完成注册过程。当模式文件变的非常大时,通常把它的内容分成多个文件来提高可维护性、可读性和重用性。这类似于把一个复杂的应用程序或组件分解为多个模块。关于这个主题的细节,请参考 W3C “XML Schema primer”(参见 “参考资料”)。

上一页  1 2 3 4  下一页

Tags:DB Viper 快速

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