最近有个小应用,需要用到webservice
需在网上下了个webservice 例子,客户端和服务端 采用pb11.5 数据库采用 mysql 发布到iis上,客户端查询数据窗口可以返回结果 服务端和客户端均运行正常,
后面将 客户端改成 pb9 编写,然后服务端还是pb11.5, 查询结果是 从服务端返回有数据,但是数据 setfullstate 到客户端数 据窗口时 setfullstate 返回-1 进过调试,发现服务端返回的 blob数据和 客户端接收的blob数据大小一样,说明数据有传回,
现在就是不知道是什么原因,倒置客户端 setfullstate出错,查询数据窗口无任何数据,
我的webservice过程是 pb9客户端,将 数据窗口语法和sql语句传到服务端 服务端是pb11.5的,然后服务端根据该语法和sql语句,利用datastore 创建数据窗口,然后执行retrieve ,结束后,将 retrieve 结果通过getfullstate传回给客户端,客户端通过setfullstate将数据还原到本地数据窗口,
不知是否是因为服务端和客户端pb的版本差异导致数据窗口的一些状态有些差异,而产生客户端setfullstate到本地数据窗口不成功?
------解决思路----------------------
明显的是版本问题么,pb9的数据窗口可以直接导入PB11的,但是反过来就不行了。你服务端返回的数据跟客户端的不匹配,你换成pb11的试试
------解决思路----------------------
用getfullstate的话不行,你可以把数据取出传到客户端是可以的,不过建议你客户端还是用pb11,这样同步,少了不少麻烦