扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
对于运行在 Linux、UNIX 和 Windows 系统上的应用程序,还有其他方法可以访问大型主机数据和事务。为什么使用 DB2 Connect 和 DB2 存储过程,这是一个经常问到的问题。我们认为以下几条是这种方法的主要优点:
使用 SQL 函数提供异构型分布数据的统一视图
大多数程序员都熟悉数据库提供的 SQL 函数,这些 SQL 函数用于执行字符串处理,进行运算和统计计算,甚至计算地图上的位置。DB2 附带了多达数百个内建函数。除此以外,DB2 服务器还允许程序员创建他们自己的函数 —— s用户定义函数(User Defined Functions, UDF) —— 以补充产品中原有的函数。由于 DB2 Connect 服务器实际上建立在 DB2 UDB 数据库服务器基础之上,因此它也允许客户创建他们自己的函数。然而,因为 DB2 Connect 本身不存放数据,所以这些函数通常需要从其他数据源访问数据,并使这些数据作为联邦数据库的一部分提供出来。为了简化用户定义函数的创建,DB2 Connect 为四种类型的函数提供了内建的加速器:
所有这些函数都有一个共同点:当被调用时,每个函数都返回一个结果集,这个结果集看上去像一个 DB2 表(这正是我们将其称作表函数的原因)。就像其他的内建函数一样,表函数也可以在 SQL SELECT 语句中使用。另外,这些函数还常用于定义视图,让应用程序使用视图,而不是直接使用函数。
OLE DB 是 Microsoft 的一种技术,它被嵌入在 Windows 操作系统中。OLE DB 的目标(就像它之前的 ODBC 的目标)是提供对各种关系和非关系数据源的透明的访问。在 DB2 Connect 的上下文中,只要有可用的 OLE DB 驱动程序(其实更恰当的名称是 provider,但由于很多人使用 driver 这个术语,因此我们在这里同时使用了这两个术语),用户编写的 UDF 便可以使用 OLE DB 接口访问任何数据源。幸运的是,对于大多数数据源(关系的和非关系的),都有可用的 OLE DB 提供程序(provider)。例如, Microsoft Data Access Components (MDAC) 提供了用于 Microsoft Access、SQL Server、文本文件和 Excel 电子表格等常见数据源的 OLE DB 驱动程序。如前所述,由于大多数供应商都为他们各自的数据源提供了 OLE DB 驱动程序,因此还有很多其他的拥有 OLE DB 驱动程序的数据源。DB2 Connect 为 DB2 提供了 OLE DB 驱动程序 —— 但通过内建的联邦支持提供了比 OLE DB UDF 更好的访问 DB2 数据源的方案。下面的图 6 提供了使用 OLE DB UDF 访问 OLE DB 数据源的一个例子:
图 6. 使用 DB2 Connect 中的 OLE DB 函数来访问数据实际上,不需要编写任何代码便可以创建前面图中的 UDF(它将存储在 Microsoft Access 数据库中的数据暴露成一个视图)。它是如此的简单,所以一旦和 DB2 Development Center (我们在本系列的应用程序开发部分将会加以阐述)相结合的话,就只需要点几下鼠标了。详细的说明超出了本文的范围 —— 但是您可以查阅 developerWorks 来了解更多信息。
OLE DB 访问很伟大(也是很必要的),但如今大多数数据并不是规规矩矩地就放在行和列之中(当我们大肆谈论关系数据库时,这一事实有时候竟被遗忘了)。虽然非关系数据的范围过于广泛,但是有必要至少简要地谈谈 DB2 Connect 和两种最流行的数据媒介:XML 和消息队列。
如前所述,DB2 Connect 包括内建的 XML 支持,并且可以访问存储在 DB2 数据库和文件系统中的 XML。为了访问存储在 DB2 以外的 XML 数据,您可以在 DB2 Connect 联邦数据库中创建一个 UDF。该函数将从一个文件中读取 XML 文档,然后以结构化数据输出的形式返回内容。
DB2 Connect 服务器上的 XML 函数可以辅助开发那样的 UDF。例如,db2xml.XMLVarcharFromFile、db2xml.XMLCLOBFromFile 和 db2xml.Content 这些函数都可以用于在一个 UDF 中把 XML 数据从文件读到内存。就像 OLE DB UDF 返回的数据一样,由从文件读 XML 的 UDF 返回的数据可以通过直接调用这些 UDF 来访问,或者也可以通过定义使用这些函数来实现(materialize)的视图来访问 —— 而且,还有一个向导来帮助创建这些函数!
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者