SQL Anywhere 11 (Panorama) 评审指南 Part IX
2008-05-05 16:03
453 查看
例程可通过http://www.sybase.com/files/Technical_Documents/PanoramaRevGuide.zip下载
本文档中出现的SQL Anywhere 11在其它地方可能出现为SQL Anywhere Panorama。
JSON Web Service
JASON(JavaScript Object Notation)是一种简单、轻量级的数据交换格式,非常适用于展现和交换数据结构。虽然JSON独立于编程语言,但大多数情况下都使用JavaScript因为JSON对象能轻松重建和使用数据结构。SQL Anywhere 11通过内置的HTTP服务器支持web服务的请求来返回JSON格式的结果集。结果集通过键值对的数组来返回,每个键代表结果集中的一列。
JSON Web Service例程
本例程使用SQL Anywhere demo数据库用JSON格式返回employees列表并显示在浏览器中。其中使用了JSON列表,员工的名字也显示了出来。Employees的JSON列表通过一个返回到服务器的AJAX请求来获得。本例使用了SQL Anywhere的内置HTTP服务器,需要支持JavaScript的浏览器。
1. 确保没有数据库服务器运行。若有,请关闭。
2. 在命令行中,浏览至例程的JSON目录。
3. 执行以下命令将SQL Anywhere 11 demo数据库拷贝至当前目录:
copy "%SQLANYSAMP11%/demo.db" .
4. 启动demo数据库的HTTP服务器。以下命令指定HTTP服务器的端口号为8080(如果需要,请指定其它端口):
dbsrv11 demo.db -xs "http(port=8080)"
5. 启动Interactive SQL并连接至demo数据库:
dbisql -c "eng=demo;uid=DBA;pwd=sql"
6. 创建一个从当前目录读取HTML页面的存储过程。拷贝以下代码至Interactive SQL中,按F5运行:
CREATE PROCEDURE sp_root()
BEGIN
CALL dbo.sa_set_http_header( 'Content-Type', 'text/html' );
SELECT xp_read_file( 'json.html');
END;
7. 创建root web服务,返回HTML页面。拷贝以下代码至Interactive SQL中,按F5运行:
CREATE SERVICE "root"
TYPE 'RAW'
AUTHORIZATION OFF
USER DBA
AS CALL sp_root();
8. 创建employees web服务,由json.html调用。拷贝以下代码至Interactive SQL中,按F5运行:
CREATE SERVICE "employees"
TYPE 'JSON'
AUTHORIZATION OFF
USER DBA
AS SELECT * FROM "Employees";
9. 打开浏览器,浏览http://localhost:8080/demo/。
10. 点击“Get Employees”发起AJAX对emplyees web服务的请求demo数据库中的employees列表即显示。
请查看json.html以了解如何使用JSON应答的细节。本例程到此结束。关闭浏览器、Ineractive SQL和数据库服务器。
本文档中出现的SQL Anywhere 11在其它地方可能出现为SQL Anywhere Panorama。
JSON Web Service
JASON(JavaScript Object Notation)是一种简单、轻量级的数据交换格式,非常适用于展现和交换数据结构。虽然JSON独立于编程语言,但大多数情况下都使用JavaScript因为JSON对象能轻松重建和使用数据结构。SQL Anywhere 11通过内置的HTTP服务器支持web服务的请求来返回JSON格式的结果集。结果集通过键值对的数组来返回,每个键代表结果集中的一列。
JSON Web Service例程
本例程使用SQL Anywhere demo数据库用JSON格式返回employees列表并显示在浏览器中。其中使用了JSON列表,员工的名字也显示了出来。Employees的JSON列表通过一个返回到服务器的AJAX请求来获得。本例使用了SQL Anywhere的内置HTTP服务器,需要支持JavaScript的浏览器。
1. 确保没有数据库服务器运行。若有,请关闭。
2. 在命令行中,浏览至例程的JSON目录。
3. 执行以下命令将SQL Anywhere 11 demo数据库拷贝至当前目录:
copy "%SQLANYSAMP11%/demo.db" .
4. 启动demo数据库的HTTP服务器。以下命令指定HTTP服务器的端口号为8080(如果需要,请指定其它端口):
dbsrv11 demo.db -xs "http(port=8080)"
5. 启动Interactive SQL并连接至demo数据库:
dbisql -c "eng=demo;uid=DBA;pwd=sql"
6. 创建一个从当前目录读取HTML页面的存储过程。拷贝以下代码至Interactive SQL中,按F5运行:
CREATE PROCEDURE sp_root()
BEGIN
CALL dbo.sa_set_http_header( 'Content-Type', 'text/html' );
SELECT xp_read_file( 'json.html');
END;
7. 创建root web服务,返回HTML页面。拷贝以下代码至Interactive SQL中,按F5运行:
CREATE SERVICE "root"
TYPE 'RAW'
AUTHORIZATION OFF
USER DBA
AS CALL sp_root();
8. 创建employees web服务,由json.html调用。拷贝以下代码至Interactive SQL中,按F5运行:
CREATE SERVICE "employees"
TYPE 'JSON'
AUTHORIZATION OFF
USER DBA
AS SELECT * FROM "Employees";
9. 打开浏览器,浏览http://localhost:8080/demo/。
10. 点击“Get Employees”发起AJAX对emplyees web服务的请求demo数据库中的employees列表即显示。
请查看json.html以了解如何使用JSON应答的细节。本例程到此结束。关闭浏览器、Ineractive SQL和数据库服务器。
相关文章推荐
- SQL Anywhere 11 (Panorama) 评审指南 Part III
- SQL Anywhere 11 (Panorama) 评审指南 Part II
- SQL Anywhere 11 (Panorama) 评审指南 Part V
- SQL Anywhere 11 (Panorama) 评审指南 Part VI
- SQL Anywhere 11 (Panorama) 评审指南 Part IV
- SQL Anywhere 11 (Panorama) 评审指南 Part VII
- SQL Anywhere 11 (Panorama) 评审指南 Part VIII
- SQL Anywhere 11 (Panorama) 评审指南 Part I
- SQL Anywhere 11 (Panorama) 评审指南 Part X
- Informix IDS 11体系规画(918考试)认证指南,第8部门:面向规画员的SQL特性(9)
- Informix IDS 11零碎筹划(918检验)认证指南,第8部分:面向筹划员的SQL特性(1)
- 【Mysql sql inject】【入门篇】SQLi-Labs使用 part 1【01-11】
- Oracle11G-SQL开发指南-11-PL/SQL编程
- Informix IDS 11琐细经管(918考试)认证指南,第8局部:面向经管员的SQL特性(8)
- SQL应用中级指南 Part4:(数据字典)
- Informix IDS 11细碎经管(918检验)认证指南,第8局部:面向经管员的SQL特征(7)
- 张策:SQL Anywhere教程(11)
- Informix IDS 11零碎治理(918考试)认证指南,第8局部:面向治理员的SQL特征(6)
- Informix IDS 11体系管理(918检修)认证指南,第8部门:面向管理员的SQL特性(5)
- IBM Informix Dynamic Server 11 系统管理(考试 918)认证指南,第 8 部分: 面向管理员的 SQL 特性