本地数据库用的是Oracle,第三方数据库是SQL Server,连接字符串保存在web.config里面。
第三方数据库为增量,每次读取要记录读取的最大位置。我是保存在本地txt文件里面。

                       //保存的路径  
string filepath = Server.MapPath("~/temp/TestTxt.txt");
//读取上次记录
//判断txt文件是否存在
string strOpen = "";
if (!File.Exists(filepath))
{
//创建txt
StreamWriter strmsave = new StreamWriter(filepath, true, System.Text.Encoding.GetEncoding("gb2312"));
strmsave.Write("");
strmsave.Close();
StreamReader strmopen = new StreamReader(filepath, System.Text.Encoding.GetEncoding("gb2312"));
strOpen = strmopen.ReadToEnd();
strmopen.Close();
}
else
{
StreamReader strmopen = new StreamReader(filepath, System.Text.Encoding.GetEncoding("gb2312"));
strOpen = strmopen.ReadToEnd();
strmopen.Close();
}

int maxidnumber = 0;
                    if (!string.IsNullOrEmpty(strOpen))
                          {
                       maxidnumber = Convert.ToInt32(strOpen);
                          }

  string sql = "select top " + System.Configuration.ConfigurationManager.AppSettings["ReadCount"] + " * from User_Infor_Message where idnumber>" + maxidnumber + " order by idnumber";
DataTable tab1 = DBHelper.GetDataSetBySql(sql).Tables[];
int tempid = ;
foreach (DataRow item in tab1.Rows)
{
if (Convert.ToInt32(item["idnumber"]) > maxidnumber)
{
tempid = Convert.ToInt32(item["idnumber"]);
}
if (tab.Rows.Count > )
{
string MessageType = item["MessageType"].ToString();//数据状态
string outid = item["IDSERIAL"].ToString();//证件号,匹配字段
string cardnumber = item["CARDID"].ToString();//物理卡号
string strSql = "";
if (MessageType != "" || MessageType != "")
{
DataRow[] rows = tab.Select("onecard='" + outid + "'");
if (rows.Length > )
{
string info_id = rows[][].ToString();//获取用户id
//更新数据
strSql = "update sub_file_relation set cardnumber='" + cardnumber + "' where info_id='" + info_id + "'";
cmd.CommandText = strSql;
cmd.ExecuteNonQuery();
}
else
{
//新增数据
}
}
}
}
if (tab1.Rows.Count > )
{
maxidnumber = Convert.ToInt32(tempid);
//写入记录数据
StreamWriter strmsave1 = new StreamWriter(filepath, false, System.Text.Encoding.GetEncoding("gb2312"));
strmsave1.Write(maxidnumber);
strmsave1.Close();
}
//ClientScript.RegisterStartupScript(this.GetType(), "123", "<script>alert('数据同步完成')</script>");
trans.Commit();

更新数据的主要代码

本地数据库用的是Oracle,第三方数据库是SQL Server,连接字符串保存在web.config里面。

.net第三方数据库物理卡号同步功能实现的更多相关文章

  1. Xamarin如何使用终端设备的NFC功能传递卡号等信息给Web页面(Android)

    一.前提条件,App必须具有NFC权限. 二.项目中加入监控类NFCCatchActivity.cs [Activity(Label = "NFCCatch",Theme = &q ...

  2. Navicat premium对数据库的结构同步和数据同步功能

    一.在目标数据库新建一个相同的数据库名. 二.工具-->结构同步. 三.填写源数据库和目标数据库. 四.点击比对 五.点击部署 六.点击运行 七.点击关闭.此时源数据库的结构已经同步到目标数据库 ...

  3. 实现两个MySQL数据库之间的主从同步

    一.    概述MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步.主从模式.互相备份模式的功能二.    环境操作系统:Linux 2. ...

  4. sql数据库发布、订阅同步方式操作

    Sql数据库发布订阅分为两个步骤:1.发布.2.订阅.首先在数据源数据库服务器上对需要同步的数据进行发布,然后在目标数据库服务器上对上述发布进行订阅. 一.发布. 发布需要用实际的服务器名称,不能使用 ...

  5. sqlserver卡号段分组

    之前给上海一家电子商务公司做一个卖卡系统,遇到了卡号段分组的问题.刚开始没什么好的实现方法,遂在博客园求助但未果,没法自己研究sql,终于搞定. 问题描述: 有个卡库存表,有个卡号字段,假设数据:16 ...

  6. sql server2008数据库复制实现数据同步常见问题

    sql server2008数据库复制实现数据同步常见问题 在原作者基础上追加 sql server2008数据库复制实现数据同步常见问题 23.发布 'xx' 的并发快照不可用,因为该快照尚未完全生 ...

  7. SQL SERVER 基于数据库镜像的主从同步(数据库镜像实践汇总)

    SQL SERVER 基于数据库镜像的主从同步 Author:chaoqun.guo    createtime:2019-03-26 目录 SQL SERVER 基于数据库镜像的主从同步... 1 ...

  8. windows的磁盘操作之四——根据逻辑分区号获得物理磁盘号(转)

    第一节中我们谈到了磁盘设备名称的两种形式: 对于物理驱动器x,形式为\\.\PhysicalDriveX,编号从0开始,例如 名称 含义 \\.\PhysicalDrive0 打开第一个物理驱动器 \ ...

  9. 【实操笔记】MySQL主从同步功能实现

    写在前边: 这两天来了个需求,配置部署两台服务器的MySQL数据同步,折腾了两天查了很多相关资料,一直连不上,后来发现其实是数据库授权的ip有问题,我们用的服务器是机房中的虚拟机加上反向代理出来的,坑 ...

随机推荐

  1. tcp.cc

    ns2-tcp-tcp.cc /* -*- Mode:C++; c-basic-offset:8; tab-width:8; indent-tabs-mode:t -*- */ /* * Copyri ...

  2. tempdb过大事故记录-sqlserver

    今天收到预警消息,提示磁盘空间已经满了,感觉很奇怪.刚装的新机器怎么可能会磁盘空间不足.登陆看了看 可以看的到tempdb已经65G的了,而且显示是百分百可用.这个就很奇怪了,为什么会出现这种情况呢. ...

  3. layui 设计资源——2.0 版本的 Axure 组件包,产品交互设计利器

    大家好,很久不见,这次为大家分享的是 layui_2.0版本的axure组件包,在去年发布的 layui Axure 1.0 中(见:http://fly.layui.com/jie/9842/ )赢 ...

  4. Linux文件的I/O操作

    C标准函数与系统函数的区别   标准函数printf调用应用层api,然后应用层api调用内核层api,再通过内核层api调用硬件设备   一个pirntf打印helloworld那么sys_writ ...

  5. memcached php-memcache 扩展

    1.安装 libevent wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz tar ...

  6. anydesk重启脚本

    1.restart.sh: #!/bin/sh sh /home/zhoushuo/anydeskTest/stop.sh echo 'zhoushuo'|sudo -S /usr/bin/anyde ...

  7. wampserver的安装与配置

    一.安装:wamp的安装很简单,只需要按照提示并根据自己的需求操作即可,这里不再赘述. 二.配置:wamp安装完后,需进行如下配置才能正常工作. 1.修改MySQL的登录密码 (1)启动WampSer ...

  8. [19/03/25-星期一] 容器_Collection(集合、容器)之Set(集合、安置,无顺序不可重复)

    一.概念&方法 Set接口继承自Collection,Set接口中没有新增方法,方法和Collection保持完全一致.. Set容器特点:无序.不可重复.无序指Set中的元素没有索引,只能遍 ...

  9. cascade rcnn

    在region proposal阶段采用不同的iou. 第一幅图,不同颜色的线是用不同的region proposal的iou阈值,横坐标是region proposal生成的框与gt的原始iou,纵 ...

  10. js算法排序

    一.选择算法排序(算法时间复杂度为O(n²)级别) 选择排序就是选择数组中的最小的树,依次排序.第一次选择最小的数放在第一位,第二次从剩余的元素中寻找最小的元素放在第二位,第三次在剩余的数中选择最小的 ...