Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - 编程 » HTTP Web 服务 » 使用 Web 客户端访问 Web 服务

 

使用 SQL Anywhere 作为 Web 客户端快速入门指南

本快速入门指南介绍了如何使用 SQL Anywhere 作为 Web 客户端应用程序来连接 SQL Anywhere HTTP 服务器和访问通用 HTTP Web 服务。它不会全面介绍 SQL Anywhere 的 Web 客户端功能。虽然许多 SQL Anywhere Web 客户端功能都可用,但超出了本指南的范畴。

执行以下任务:

  • 创建并启动 SQL Anywhere Web 客户端。

  • 创建连接 HTTP 服务器上的 Web 服务的过程。

  • 在 HTTP 服务器发送的结果集上执行操作。

您可以开发连接任何类型在线 Web 服务器的 SQL Anywhere Web 客户端应用程序,但本指南假定您在 8082 端口上启用了一个本地 SQL Anywhere HTTP 服务器,并打算连接由以下 SQL 脚本创建的名为 SampleWebService 的 Web 服务:



CREATE SERVICE SampleWebService
    TYPE 'HTML'
    USER DBA
    AUTHORIZATION OFF
    AS CALL sp_echo(:i, :f, :s);

CREATE PROCEDURE sp_echo(i INTEGER, f REAL, s LONG VARCHAR )
RESULT( ret_i INTEGER, ret_f REAL, ret_s LONG VARCHAR )
BEGIN
	SELECT i, f, s;
END;

有关快速设置 HTTP 服务器的详细信息,请参见将 SQL Anywhere 用作 HTTP Web 服务器快速入门指南

 ♦  创建 SQL Anywhere Web 客户端应用程序
  1. 如果尚未创建 SQL Anywhere 客户端数据库,运行以下命令来创建:

    dbinit client-database-name

    client-database-name 替换为新客户端数据库的名称。

  2. 运行以下命令启动客户端数据库:

    dbsrv12 client-database-name.db
  3. 运行以下命令来通过 Interactive SQL 连接客户端数据库:

    dbisql -c "UID=DBA;PWD=sql;SERVER=client-database-name"
  4. 使用以下 SQL 脚本来创建一个连接到 SampleWebService Web 服务的新过程:

    CREATE PROCEDURE client_echo( f REAL, i INTEGER, s VARCHAR(16), x VARCHAR(16) )
        URL 'http://localhost:8082/SampleWebService'
        TYPE 'HTTP:POST'
        HEADER 'User-Agent:SATest';
  5. 运行以下 SQL 脚本来调用客户端过程,并向 Web 服务器发送 HTTP 请求:

    CALL client_echo(3.14, 9, 's varchar', 'x varchar');

Interactive SQL 显示的输出应当和以下输出类似:

属性
Status HTTP /1.1 200 OK
Body


<html>
<head>
<title>/SampleWebService</title></head>
<body>
<h3>/SampleWebService</h3>
<table border=1>
<tr class="header"><th><b>ret_i</b></th>
<th><b>ret_f</b></th>
<th><b>ret_s</b></th>
</tr>
<tr><td>9</td><td>3.1400001049041748</td><td>s varchar</td>
Date Wed, 09 Jun 2010 21:55:01 GMT
Connection close
Expires Wed, 09 Jun 2010 21:55:01 GMT
Content-Type text/html; charset=windows-1252
Server SQLAnywhere/12.0.0
 另请参见