WEB开发网
开发学院数据库DB2 使用 IBM DB2 pureXML 和 ASP.NET 开发一个商店定... 阅读

使用 IBM DB2 pureXML 和 ASP.NET 开发一个商店定位器应用程序

 2010-02-25 00:00:00 来源:WEB开发网   
核心提示: 清单 3 中的代码创建了一个名为 store_view 的视图,该视图有几列,使用 IBM DB2 pureXML 和 ASP.NET 开发一个商店定位器应用程序(6),所有的列(除了 store_id 列)都映射到 info 列中包含的 XML 文档中的一个元素,这要归功于 XMLTABLE

清单 3 中的代码创建了一个名为 store_view 的视图,该视图有几列,所有的列(除了 store_id 列)都映射到 info 列中包含的 XML 文档中的一个元素。这要归功于 XMLTABLE 函数,它支持使用 XPath 表达式将 XML 元素和属性映射到关系列。执行这段代码将返回一条熟悉的消息:DB20000I The SQL command completed successfully。

接下来,创建第二个视图,即 store_hours_view。在前一个视图中,您可能注意到,XML 元素 hours 没有映射到关系列。要映射它们,需要为 <hours> 节点的每个子元素都创建一个单独的列,这不仅意味着从这些列创建一个视图非常繁琐,还意味着使用 SQL 从视图检索数据需要做更多工作。相反,更简单的方法是创建一个单独的视图,其中每一天都存储在单独一行。清单 4 展示了创建这个视图的代码。

清单 4. 创建 store_hours_view DB2 视图

create view store_hours_view( 
  store_id, day, hours 
) as 
  select s.store_id, x.* 
  from store s, xmltable('$d/store/hours/day' passing s.info as "d" 
    columns 
    day varchar(20) path '@name', 
    hours varchar(50) path '.' 
  ) as x 

这一次,您创建的视图将为每个商店的一周的每一天包含单个行。每一行将包含 store_id,名称(位于每个 <day> 元素的 name 属性中)和小时。同样,运行这段代码将收到一个成功响应。在下一小节中,将了解如何把数据从一系列 XML 文件加载到数据库中,然后测试本小节中创建的视图是否返回正确的数据。

从一系列 XML 文件导入数据

要将 XML 数据导入数据库,需要在本教程的 源代码 中找到 xml 文件夹,将其复制到方便使用的位置。我将该文件夹复制到我的 C: 盘并将其重命名为 storeloc。这个文件夹包含一系列 XML 文件和一个名为 location.del 的文件。如果用您喜欢的文本编辑器打开 location.del,您将注意到该文件包含几行,每行都进行了编号并引用文件夹中的其他 XML 文件。现在,使用这个文件将对应 XML 文件的内容导入 DB2 数据库。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:使用 IBM DB

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