网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > 其他类别 > 正文

基于XML的数据库同步系统

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/06

网学网其他类别编辑为广大网友搜集整理了:基于XML的数据库同步系统绩等信息,祝愿广大网友取得需要的信息,参考学习。

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

1.1.1               同步部分
1. 同步控制模块
源端:
主要包含于Windows服务里,通过Timer的执行函数调用。其关键代码如下:
    public static string OpenConn(string IP,string Port)
       {    
              string strResult="-4,-3,-5,-2,-1";
              IPAddress HostAddr=IPAddress.Parse(IP);
              IPEndPoint host=new IPEndPoint(HostAddr,int.Parse(Port));
Socket s=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
              try
              {
                     s.Connect(host);
              }
              catch{return IP;}//连接 失败
              string tmpstr="1";
              byte[] sendBytes = Encoding.ASCII.GetBytes(tmpstr.ToCharArray());
              try
              {
                     s.Send(sendBytes,sendBytes.Length,0);
              }
              catch{return "-1";}//发送 数据 失败
              int bytes=0;
              byte[] recBytes=new byte[256];
              string recString ="";
              try
              {
                     bytes=s.Receive(recBytes,recBytes.Length,0);
              }
              catch{return "-2";}//接受 数据 失败
              recString=Encoding.ASCII.GetString(recBytes,0,bytes);                 
              if(recString.Length>0 && strResult.IndexOf(recString) != 0)
              {
SqlHelper.myExec ("exec dbo.prReadTempToReadState ''" + IP + "''," + recString);
              }
              s.Close();
                     System.Threading.Thread.CurrentThread.Abort();//终止当前线程
              return recString;
       }
通过Timer的执行函数传入同步的目的IP、端口创建Socket对象、建立连接,然后发送同步信号,等待目的端的返回信号,如果返回的数据不包含错误消息就标识本次已经读取的信息到读取状态表。然后终止当前线程。
目的端:
用控制台应用程序实现了本部分,程序一启动就开始处于监听状态,接收源端发来同步信号,并负责启动数据写入模块。
2. 数据导入
本部分负责调用Web Service方法获取数据合并、分解处理后将数据写入Oracle数据库。
3. Web Service
存在于源端的Web Service 项目里其主要方法:
[WebMethod]
public DataSet Provider(string IP,T)
{
    DataSet ds=DataOpt.myDataSet("exec dbo.LJReadByIP ''" + IP + "'',’"+T+"'');                        return  ds;
}
在调用此方法时需要添加Web 引用地址如下:
http://localhost/DataSynchronize/DataProvide.asmx
存储过程dbo.LJReadByIP根据传入的参数,先判断是否是系统的“合法用户”,如果是合法的身份就先得到本次读取的编号,此读取编号是读取缓冲表:tReadTemp”表中的“读取秩序号:ReadNo”的最大值加1得到的。供以后同步控制用。然后根据读取“同步缓冲临时表:tTemp”表中记录的数据表里的主键来读取数据。读取的数据是在“读取状态表: tReadState”表里无本IP记录的记录。将读了的数据保存到” 读取缓冲表:tReadTemp”里,如果在tReadTemp表里存在该信息主键就更新这条记录的读取时间和读取秩序号为当前读取时间和读取秩序号。
2         测试
软件的测试就是为了发现系统中的错误,以及是否达到了需求说明中所定义的需求。下面介绍对功能、以及的测试。
2.1    功能测试
基本同步功能测试:
1.数据项如表8:
8:输入数据
Name
Des
Age
“A”
“描述A”
10
“AAB”
“描述B”
20
“CC”
“描述CC”
30
“DD”
“描述DD”
40
2.操作:对表8的数据添加、修改、删除到源端。
3.输出:数据实时的同步到目的端数据库表。
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

原创论文

设为首页 | 加入收藏 | 论文首页 |原创论文 |
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师