快速业务通道

使用XForms 和 Ruby on Rails开发小型门诊管理系统,第1部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
S(INFORMATION) VALUES (''<?xml version="1.0" encoding="UTF-8"?> <Info> <FirstName>John</FirstName> <Age>33</Age> <Insurer>Blue Armor</Insurer> <ID>555-88-1212</ID> </Info>'');

使用XForms 和 Ruby on Rails开发小型门诊管理系统,第1部分(5)

时间:2011-11-29 ibm Michael Galpin

看起来似乎是插入一个简单的字符串,不过不用担心。DB2 不会将其看 作是字符串。这和在查询中编写日期非常类似。按照特定的语法编写字符串,让数据库解析为特定的数据 类型。如果语法错误,查询将失败。处理 XML 的方式是一样的。使用 SQL 和 XQuery 还可以查询 XML, 如清单 3 所示。

清单 3. SQL/XML Query

SELECT XMLQUERY(''<Patients>
{for $i in $x/Info
where $i/Insurer = "Blue Armor"
return <Patient>{$i/FirstName/text()}</Patient>}
</Patients>''
passing P.INFORMATION as "x") from DOC.PATIENTS P;

注意这里把 SQL (SELECTION ... from ...) 和 XQuery 混合在一起了。被称为 SQL/XML。关键在于使用 XMLQUERY 保留 字表明要通过 SQL 选择语句执行针对传入 XML 文档的 XQuery。运行该查询将返回清单 4 所示的 XML 文档。

清单 4. 结果 XML 文档

<?xml version="1.0" encoding="UTF-16"?>
<Patients>
<Patient>John</Patient>
</Patients>

现在您看到使用 DB2 原生存储 XML 是多么简单,但是在 XForms 使用的 XML 和 DB2 中的 XML 之间还需要点什么。我们将使用 Ruby。

Rails 和 DB2

现在需要考 虑如何将 XForms 前端和 DB2 pureXML 后端连接在一起了。Ruby on Rails 为快速便捷地创建 Web 应用 程序提供了一种强大的方法。而且处理数据库也很方便,但是 Rails 能用于 DB2 尤其是 DB2 pureXML 吗?当然可以,而且和 Rails 的其他方面一样,惊人的简单。

使用XForms 和 Ruby on Rails开发小型门诊管理系统,第1部分(6)

时间:2011-11-29 ibm Michael Galpin

为 Ruby 安装 DB2 驱动程序

首先需要启动 Rails 中的 DB2 支持。如果已经安装了 Rails,还需要安装 Ruby Gems。否则应 该安装它,因为这个包管理系统非常适合为 Rails 增加新的功能,如 DB2 支持。安装之后在命令提示符 下输入:>gem install ibm_db。

从而下载 DB2 Ruby 驱动程序。安装完成后,所有的 Ruby 应用程序(不仅仅是 Rails 应用程序)都有了 DB2 支持。如果使用的是 Windows,就会提示选择什么版 本的驱动程序,如清单 5 所示。

清单 5. 选择 DB2 驱动程序

>gem install ibm_db
Bulk updating Gem source index for: http://gems.rubyforge.org
Select which gem to install for your platform (i386-mswin32)
1. ibm_db 0.6.0 (mswin32)
2. ibm_db 0.6.0 (ruby)
3. ibm_db 0.4.6 (ruby)
4. ibm_db 0.4.6 (mswin32)
5. Skip this gem
6. Cancel installation

需要选择最新版本的驱动程序,因此选择 #1 或 #2。如果使用 Windows 安装程序安装了 Ruby,需要选择 #1。现在就可以创建使用 DB2 pureXML 的 Rails 应用程序了 。

创建 Rails 应用程序

Rails 开发人员应该熟悉下面的代码。我们将创建清单 6 所示的 应用程序。

清单 6. 创建 Rails 应用程序

>rails xmlmd
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create components
create db
create doc
create lib
create lib/tasks
create log
create public/images
create public/jav

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号