1.环境准备
1.1准备两个SQL Server,分别部署在局域网内的服务器A,服务器B上;
1.2服务器A,创建接口表SYNC_SPKFK作为数据源;
说明:id自增量;
is_up为同步标识,值为N时,表示未同步;
值为Y时,表示已同步到服务器B,并且数据同步正确;
值为E时,表示数据同步时产生错误;
uptime为同步时间,由同步工具进行回写;
1.3服务器B,创建接口表SYNC_SPKFK作为接收表;
uptime为插入时默认值;
2.制作WebService
接口代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Web.Services;
namespace MyWebService
{
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod(Description = "商品资料单个提交")]
public bool OneSyncSPZL(int id,string yzid,string hzid,string spid,string spbh,string spmch,string shpgg,string shengccj,int jlgg,string dw) {
try
{
bool ret = false;
ret = SaveSyncSPZL.SaveData(id,yzid,hzid,spid,spbh,spmch,shpgg,shengccj,jlgg,dw);
return ret;
}
catch (Exception ex)
{
return false;
throw (ex);
}
}
[WebMethod(Description = "商品资料批量提交")]
public bool AddSPLIST(DataSet ds)
{
try
{
bool ret = false;
ret = AddSaveSPList.SaveData(ds);
return ret;
}
catch (Exception ex)
{
return false;
}
}
}
}
把WebService发布,并部署到服务器B的IIS上
访问测试
WebService源码请到此处下载;
3.制作数据提交工具
界面如下:
功能说明:
1.查询得到服务器A中,IS_UP为N的TOP 100条数据;
2.点单个上传,测试OneSyncSPZL接口,上传成功后,回写IS_UP为Y,并回写UPTIME,并刷新数据,上传错误,回写IS_UP为E,并回写UPTIME;
3.点批量上传,测试 AddSPLIST接口,上传成功后,回写IS_UP为Y,并回写UPTIME,并刷新数据,上传错误,回写IS_UP为E,并回写UPTIME;此时以DataSet中作为变量上传,一次100条数据;
数据提交工具源码请到此处下载;
4.结果
服务器A SYNC_SPKFK数据
单个上传
服务器A SYNC_SPKFK 回写情况
服务器B SYNC_SPKFK插入情况
批量上传
刷新数据
服务器A插入情况
服务器B插入情况