提醒一下楼主,可以先不要考虑这么具体的问题。
以我个人的经验觉得这种后期同步整个数据库的做法不是好的做法,开发繁琐,维护困难,同步时系统负荷比较重。有一个环节出了问题就全完了。最好把负荷分散,比如动态更新其他的数据库,这时用Web Service是比较合适的做法。就是主数据库每次更新数据时实时通知其他数据库更新。这样效率比较高,不容易出错。即使少量出错也不会有大问题。如果你确定非要一次同步整个数据库,可能也不适合使用Web Service,因为Web Service不是为这种大负荷的数据转移设计的。可以使用底层Socket传递经过压缩后的数据文件。

解决方案 »

  1.   

    to  usabcd(9号公路上的3名共军) :
    是客户要求我们必须这样应用的,没办法。对于数据的更新,当然是只更新发生变化的数据,如新增的或修改过的,但我感觉开发一个带150个参数的web service比较傻,还不如直接传sql 语句到服务器端执行,只是传sql的话二进制数据没办法弄过去,也是个麻烦事。
      

  2.   

    放那么多参数显然不雅观,也不便维护。如果你两边都用java
    将所有字段封装到一个map中即可。
    直接在Web Service的RPC方法中以这个Map作为参数。
    2进制数据转为字节数组即可。传递时axis自己会编码发送的。
    编码过程对于你都是透明的,不需要你再关心了。
    用Web Service传2进制数据最好不要太大,因为编码后数据变大
    会引起效率损失的。我估计你的指纹数据应该不是很大在30k以内吧。
      

  3.   

    谢谢uasbcd,我的指纹数据不算太大,确实在30K以内,不过还有人员照片要传,回头我先试一下,有问题我再请教您。