数据库同步软件开发——工作日志

来源:互联网 发布:网络用语安利什么意思 编辑:程序博客网 时间:2024/06/15 23:36

数据库同步功能
   需求
      1.同步正式服务器数据库数据到测试服务器,保持数据的完整性。
      2.不用连接数据库的形式,保持数据库的独立性。
      3.可以选择表定时同步。
   实现难点
      1.表的字段名是固定的,字段类型是不固定的,主键名是不固定的。
      2.复合主键时候扩展会复杂些。


   解决方案
      1.选择实现形式,两种实现方法如下
        1)web形式,通过Global.asax如下
  void Application_Start(object sender, EventArgs e)
        {
            // 在应用程序启动时运行的代码
            System.Timers.Timer timer = new System.Timers.Timer();
            timer.Enabled = true;
            timer.Interval = 12 * 3600 * 1000;//执行间隔时间,单位为毫秒  
            timer.Start();
            timer.Elapsed += new ElapsedEventHandler(objTimer_Elapsed);
        }
        void objTimer_Elapsed(object sender, ElapsedEventArgs e)
        {
            //这个方法内实现你想做的事情。
        }
        2)Windows服务,注册和卸载Windows服务的命令
         .Net 的windows service 注册工具installutil.exe在VS2008命令控制台下,执行installutil.exe 
        ·注册Windows服务
            C:"WINDOWS"Microsoft.NET"Framework"v2.0.50727>installutil @fileName
        ·卸载Windows服务
            C:"WINDOWS"Microsoft.NET"Framework"v2.0.50727>installutil /u @fileName
           @fileName是服务文件路径和文件名如:c:\MyService.exeWinfows 或者在VS2008命令行提示行下直接输入installutil.exe命令。
       ·启动Service: net start "服务名称"
     2.要想在短暂的时间内做完,只能用最笨的办法。在数据库里配置好连接数据库、数据表包括表名和主键名,不用动态的读取方式,两个工作日就能完成(包括调试修改)。


  收获

     dsTable.Tables[0].Columns.Count

     dsTable.Tables[0].Columns[i].ColumnName;

     dsTable.Tables[0].Columns[i].DataType

 

  结束

当我用web应用程序做到一半的时候,leader告诉我它找到了一个同步软件,是一个相当成熟的产品,我顿时╮(╯_╰)╭,白忙活大半天了。

HKROnline SyncNavigator数据同步软件,有兴趣的朋友看下

http://www.hkronline.com/paid.html

 

0 0