不知道有没有人做过PDA通过WebService访问Sql2005的程序?
PDA本身反应速度就比较慢,PDA通过WebService访问Sql2005的速度就更慢了。PDA访问数据库必须经过中间项,有没有可以更快访问数据库的方法?希望给出相应代码。

解决方案 »

  1.   

    Web Service 本身就很慢的字节冗余太大了
      

  2.   

    想快点直接换wince.net5.0/6.0的系统。
    可以完整的支持ado.net,直接访问sql2005,
    如果还想快点就用C/S模式,大多数操作放在局域网里面进行。
      

  3.   

    换系统是不可能的啦。我的本身就是采用C/S模式,昨天测试了下,在智能设备下不支持sqlConnection的操作,后面换成SqlConnection,但是它不支持访问数据库,而是自己sdf的数据库
      

  4.   

    把数据库的操作放在S这一端,s这一端要用电脑,尽量使用本地数据(C/S都尽量用本地数据),网络要好点,硬件也要好的。
    我现在就是这样做的,感觉速度还可以。
      

  5.   

    通过Web服务访问数据库,有以下几种可能:
    1、查询:
    PDA发送查询请求传输到服务器应该不慢,服务器处理查询也不慢,但服务器返回数据并传输到客户端比较慢。这时,可以考虑优化数据体积、在PDA上缓存常用数据,减少查询次数
    2、更新、删除
    如果是操作服务器上的数据,则只是传输一些比较少的请求数据,应该不会太慢。如果是要更新客户端上的SqlCE数据库,数据量比较大的话,则速度肯定会很慢。
    3、添加
    如要添加的数据比较多,速度会受到影响。方法也是优化数据传输结构,减少数据大小。因为无线网络,数据传输是一个比较大的瓶颈。Web服务方式传输是时,冗余数据比较多,如果想实现更高的效率,可以考虑使用Socket进行通信,自己定义数据传输协议,并对协议进行优化。
      

  6.   

    10楼说的数据库操作放在s一端,我一直都是那么做,从来不喜欢把数据库操作放在客户端做,那样代码可读性也不强,11楼所说的使用Socket进行通信,能否给个实例。分数我可以多加些,分数不是问题。
      

  7.   

    PDA端你是用C#开发的话,如果是2.0框架,开发Socket和电脑上没有太大的不同。
    在无线网络上,如果传输速度是瓶颈,使用Socket的好处是,你可以自己定义数据传输格式,直接使用二进制进行传输,效率要高于WebService的。
    例子,网上有不少的。
    服务器端,可以搜索一下C#完成端口的示例代码
    PDA端,简单的话,直接使用TcpClient进行连接,使用NetworkStream进行数据传输。
      

  8.   

    如果是这种情况,你应该使用后台线程传输数据的。给用户显示一个进度条,而且最好不要影响用户的其它操作。当下载完成后,通知用户。
    如果你直接让程序出来等待图标,那PDA就处于假死状态了,用户体验肯定不好。
      

  9.   

    这样处理的话,使用WebService也没什么不好。开发简单。
      

  10.   

    Socket能进行对sql的访问吗?如果在网上搜索,该如何搜索呢?
      

  11.   

    Socket不能,它只处理数据收发。但你写的Socke就可以。受无线网络的限制,你使用Socket也不会提升太高的速度。如果你能把数据传输的大小减少一半,你的传输速度才会提高一倍。
    你用WebService传输也可以,做好异步调用,不让用户感到烦就可以了。
      

  12.   

    第一句写错了。
    Socket不能,它只处理数据收发。但你写的Socket服务器就可以。