为 DB2 XML 数据开发 Java 应用程序
2009-11-12 00:00:00 来源:WEB开发网您将在执行广泛任务(比如插入和查询 XML 数据)的应用程序中调用这些方法。
插入 XML 数据
由于最初的 XQuery 规范没有解决数据库写操作(比如插入数据),所以 DB2 依赖于熟悉的 SQL INSERT 语句来允许程序员将新的 XML 数据写入包含 XML 列的表中。DB2 最多可存储 2 GB 格式良好的 XML 文档。
通常,Java 程序员需要将包含在文件中的 XML 数据插入到 DB2 中,尽管也可以从字符串、二进制数据(包括大对象)和 SQL 子选择语句插入 XML 数据。这里介绍了如何从文件和简单的字符串插入 XML 数据。有关其他插入场景的详细信息,请参考 DB2 Viper 手册。
DB2 Viper 也允许您插入 XML 文档时针对以前注册的 XML 模式进行验证或不进行验证。本文中的例子介绍了这两种方法。
插入文件时不进行验证
清单 3 中的 insertFile() 方法演示了如何将 XML 文件中的数据插入 "clients.contactinfo" 列。该方法首先定义几个变量供以后使用。前 3 个变量对应于 "clients" 表中的 ID、name 和 status 列。第 4 个是将要插入 "contactinfo" 列的 XML 文件的名称。为简单起见,值已经硬编码在该方法中;在生产环境中,输入值将以不同的方式获得。
在建立数据库连接之后,为 INSERT 语句创建一个简单的字符串。如您所见,它看起来与任何其他 DB2 INSERT 语句一样,并对四个输入列值使用参数标志符(marker)。INSERT 语句像平常一样准备好了,它的四个参数标志符也设置好了。要为 XML 列设置标志符,需打开一个 FileInputStream,并传递 XML 文件的位置。也获得该文件的长度,并使用该信息作为 setBinaryStream() 方法的输入。最后,执行该语句,检查错误,并关闭连接。
更多精彩
赞助商链接