例程可通过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列表即显示。