有一连锁超市项目,各门店分布在不同地方,要和总部通讯作数据交换,也就是将门店销售数据上传到总部,将总部价格信息,新品资料下载到门店,请问有没有更好的方案,具体处理细节上如何处理,我目前的解决方案如下:
1、门店销售数据上传到总部:
   a 将门店需要上传数据从SQL SERVER数据库导出到XML文件,并压缩
   b 总部收到后先解压,然后将XML文件导入到SQL SERVER数据库
2、总部价格信息,新品资料下载到门店:
   a 将总部需要下载的数据从SQL SERVER数据库导出到XML文件,并压缩
   b 门店收到后先解压,然后将XML文件导入到SQL SERVER数据库这里有几点不知道如何实现,最好有代码,还有要求性能,因为数据量会比较大,请高手出马:
  将XML文件导入到SQL SERVER数据库
  从SQL SERVER数据库导出到XML文件

解决方案 »

  1.   

    生成xml文件, 在查询语句后用 for xml 子句就行了
    解析的话, 用 openxml, 2005及之后的版本直接使用 xml 数据类型的nodes+value 方法就好了具体的操作参考一下联机帮助就好了
      

  2.   

    如果一天才变化几千条的话, 不存在效率问题啊, 不过, 生成xml的时候建议你几百条一个xml文件另外, 其实这种传递, 不一定要用xml, 如果只是导入/导出, 不做特殊处理, 文件文件就行了(可以参考使用bcp)如果要做一些处理, 那么用access 数据库来做传递, 效果会好一些
      

  3.   

    如果一天才变化几千条的话, 不存在效率问题啊, 不过, 生成xml的时候建议你几百条一个xml文件另外, 其实这种传递, 不一定要用xml, 如果只是导入/导出, 不做特殊处理, 文件文件就行了(可以参考使用bcp)如果要做一些处理, 那么用access 数据库来做传递, 效果会好一些
      

  4.   

    如果一天才变化几千条的话, 不存在效率问题啊, 不过, 生成xml的时候建议你几百条一个xml文件另外, 其实这种传递, 不一定要用xml, 如果只是导入/导出, 不做特殊处理, 文件文件就行了(可以参考使用bcp)如果要做一些处理, 那么用access 数据库来做传递, 效果会好一些
      

  5.   

    我以前看到他们是用DTS实现的,可是就不知道具体如何写
      

  6.   

    CSDN 现在回复老半天才反应过来,还不提示“已经回复成功”,老大都中招了
      

  7.   

    用webservice,.net SqlbulkCopy方法最直接
      

  8.   

    另外, 如果你的网络比较好, 可以考虑复制或者Service Broker技术
      

  9.   

    TO 11楼的朋友,你能给我个 SqlbulkCopy 的demo吗
      

  10.   

    其实我不建议用通过生成xml方式来上传和下载的方式,这种做法最大的麻烦是,很难控制这些数据。
    有两个的方法来实现:
    第一、利用sqlserver的分布式,就是订阅和发布。可以实现分店断网,连网上自动上传数据。第二、利用网络终端,就是说所有的程序放在服务器上,然后每一个客户端利用终端连接到服务器,其操作起来就象本机上操作。
      

  11.   

    呵呵 今天登陆看到emailqjc给我一个讨论的帖子,我这边服务的客户存在现成很多这样的例子(我们的客户目前是国内最大的连锁超市(法国的))
    首先 我觉得你的问题分两个方面1  门店销售数据反馈给总部2  总部新品数据传输给门店(可能还包括商品供应商的变化,进价售价,促销进价售价的传输等等)两者之间的数据传输应该不是基于实时的,每日传输一次就可以了.你的数据量不大,按照你说的不管是导出XML还是向数据库Load数据都应该很快.如果你需要具体实现思路我倒是可以给你详细说明,不过基本思路你按照你的做法基本上是可以完成项目的
      

  12.   

    关于门店的上传与下载,可参看这个:http://blog.csdn.net/fstao/article/details/6281159