sql 查询web页面_将Web服务整合到您SQL查询中

本文介绍了如何使用DB2 for i的HTTP用户定义函数(UDF)和用户定义表函数(UDTF)来集成Web服务。通过HTTP功能,数据库开发人员可以将SQL查询与Web服务结合,实现数据的获取和处理。示例展示了一个SQL查询,该查询从DB2 for i博客获取先前发布的条目,涉及URL构造、HTTP方法、响应处理以及XML数据的转换。
摘要由CSDN通过智能技术生成

超文本传输​​协议(HTTP)协议是最常用的Internet协议之一。 使用HTTP,可以通过统一资源定位器(URL)访问Web服务和其他在线信息资源。

通过将新的HTTP函数用作系统资源,DB2 for i为数据库开发人员开辟了一条新途径,以使数据库开发人员可以使用SQL合并Web服务。

新的HTTP用户定义函数(UDF)和用户定义表函数(UDTF)用Java™编写,它们存在于SYSTOOLS模式中。 SYSTOOLS与DB2 for i提供的其他模式不同,因为它不是缺省系统路径的一部分。 SYSTOOLS包含一组DB2 for i提供的示例和工具。 SYSTOOLS中的工具和示例被认为可以立即使用,但不属于任何IBM产品。 因此,它们不受IBM服务和支持的约束。

本文概述了新的HTTP函数,并提供了一个示例,展示了如何使用这些函数来请求Web服务并将数据结果与内置XML支持集成在一起,该内置XML支持也是DB2 for i 7.1支持的一部分。 该示例说明如何设计一个SQL查询,该查询从DB2 for i博客返回以前发布的条目。

先决条件

为了对DB2 i 7.1使用HTTP功能,必须在系统上安装以下软件。

  • DB2 PTF组SF99701级别23
  • Java 1.6或更高版本(5761-JV1选项11、12、14或15)

HTTP功能概述

HTTP UDF和UDTF使用以下命名约定命名:

HTTP<method><data-type><verbose>
  • method表示HTTP函数。 支持所有常见的HTTP方法,包括POSTGETPUTDELETEHEAD 。 有关HTTP方法的更多信息,可以参考参考资料部分中的超文本传输​​协议链接。
  • data-type可以是CLOBBLOB ,它表示返回的HTTP响应消息的数据类型,或者在某些情况下(例如PUTPOST )表示请求消息的类型。
  • DB2 for i为每种方法和数据类型组合提供HTTP函数的详细版本和非详细版本。
    • 具有“ verbose”后缀的函数是表函数。 该表函数返回以下两者:结果集中的响应HTTP标头和响应消息。 响应HTTP标头包括响应代码和标头字段。 响应代码指示请求是否成功。 标头字段包含有关响应的其他信息。
    • 不带“ verbose”功能的函数是标量函数,仅返回响应消息。

例如, HTTPPUTBLOBVERBOSE是一个表函数,它将使用PUT方法发送和接收BLOB数据,而HTTPGETCLOB是一个标量函数,它将使用GET方法来检索作为CLOB的资源表示形式。

除了HTTP方法功能之外,还提供了一些辅助功能来执行URL编码和解码以及base64编码和解码。 URL规范 (RFC 1738)定义了一组特殊字符,需要将这些特殊字符替换为转义序列(例如,如果用于URL的查询字符串中)。 辅助功能URLENCODEURLDECODE执行URL编码和解码。 Base64编码通常用于将二进制数据编码为Web上的文本数据。 提供了辅助函数BASE64ENCODEBASE64DECODE ,用于对base64数据进行编码和解码。

表1显示了本文中使用的HTTP函数的签名。

表1.使用的HTTP函数的签名
功能名称
httpGetBlobVerbose 输入参数 输入参数类型
URL VARCHAR(2048)
HTTPHEADER CLOB(10K)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值