当前位置: 首页 > news >正文

手机游戏app开发公司博客程序seo

手机游戏app开发公司,博客程序seo,无锡做网站设计的企业,做博客网站赚钱因开发、测试场景经常需要模拟机生产环境的数据,原同事开发了一个ado.net图形化同步工具,对非技术人员操作友好,但对技术员使用并不方便,每次同步需源库数据与目标的数据源字段进行配置,且同步大数据时慢,因…

因开发、测试场景经常需要模拟机生产环境的数据,原同事开发了一个ado.net图形化同步工具,对非技术人员操作友好,但对技术员使用并不方便,每次同步需源库数据与目标的数据源字段进行配置,且同步大数据时慢,因此抽空自己写了简单的同步工具,极大提高了效率。直接贴代码如下:

using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using Oracle.ManagedDataAccess.Client;
namespace SyncData
{class Program{static void Main(string[] args){//原库连接string strConnSource = System.Configuration.ConfigurationManager.ConnectionStrings["SourceConnectionString"].ConnectionString;//目标连接string strConnTarget = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];//同步方案string[] SyschSchemes = System.Configuration.ConfigurationManager.AppSettings["SyschScheme"].Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);OracleConnection conn = null;List<string> list = new List<string>();Console.WriteLine("------准备导入----------------");try{using (conn = new OracleConnection(strConnSource)){for (int i = 0; i < SyschSchemes.Length; i++){string strSql = SyschSchemes[i].ToLower();string strSqlO = SyschSchemes[i];if (strSql.Trim().Length == 0){continue;}string tb = strSql.Substring(strSql.IndexOf("from ") + 4, strSql.IndexOf("where ") - strSql.IndexOf("from ") -5);using (OracleCommand cmd = conn.CreateCommand()){cmd.CommandText = strSqlO;cmd.CommandType = CommandType.Text;OracleDataAdapter oracleDataAdapter = new OracleDataAdapter(cmd);DataTable dt = new DataTable(tb);oracleDataAdapter.Fill(dt);Console.WriteLine(tb + "共:" + dt.Rows.Count + "条");if (dt.Rows.Count == 0)continue;//暂停该表所有触发器string trigerN =string.Format("alter table {0}  disable all triggers",tb);string trigerY = string.Format("alter table {0}  enable all triggers", tb);string deleteSql = string.Format("delete from  {0}", strSqlO.Substring(strSql.IndexOf("from ") + 4));//暂停目标表触发器executeSQL(strConnTarget, trigerN);//删除目标表条件数据executeSQL(strConnTarget, deleteSql);//同步至目标表InsertData(strConnTarget,dt);//启用触发器executeSQL(strConnTarget, trigerY);}}}}catch (Exception ex){Console.WriteLine(ex.Message);}finally{if (conn != null && conn.State == ConnectionState.Open){conn.Close();}}Console.Read();}private static void InsertData(string strConnTarget, DataTable dt){OracleConnection conn = null;StringBuilder strInse = new StringBuilder();Dictionary<string, List<object>> listData = new Dictionary<string, List<object>>();strInse.AppendFormat("insert into {0} (", dt.TableName);for (int i = 0; i < dt.Columns.Count; i++){if (i == dt.Columns.Count - 1){strInse.AppendFormat("\"{0}\"", dt.Columns[i].ColumnName);}else{strInse.AppendFormat("\"{0}\",", dt.Columns[i].ColumnName);}listData.Add(dt.Columns[i].ColumnName, new List<object>());}strInse.AppendFormat(")values(");for (int i = 0; i < dt.Columns.Count; i++){if (i == dt.Columns.Count - 1){strInse.AppendFormat(":{0}0", dt.Columns[i].ColumnName);}else{strInse.AppendFormat(":{0}0,", dt.Columns[i].ColumnName);}}strInse.AppendFormat(")");foreach (DataRow row in dt.Rows){foreach (DataColumn cl in dt.Columns){listData[cl.ColumnName].Add(row[cl.ColumnName]);}}try{using (conn = new OracleConnection(strConnTarget)){using (OracleCommand cmd = conn.CreateCommand()){cmd.CommandText = strInse.ToString();cmd.CommandType = CommandType.Text;cmd.ArrayBindCount = dt.Rows.Count;cmd.BindByName = true;OracleDbType dbType = OracleDbType.Varchar2;OracleParameter oraParam;foreach (DataColumn cl in dt.Columns){dbType = GetOracleDbType(cl.DataType);oraParam = new OracleParameter(cl.ColumnName+ "0", dbType);oraParam.Direction = ParameterDirection.Input;oraParam.OracleDbTypeEx = dbType;oraParam.Value = listData[cl.ColumnName].ToArray();cmd.Parameters.Add(oraParam);}//打开连接  conn.Open();int result = cmd.ExecuteNonQuery();Console.WriteLine(dt.TableName + "同步完成" + result + "条!");}}}catch (Exception ex){Console.WriteLine(dt.TableName+"产生错误:"+ex.Message);}finally{if (conn != null && conn.State == ConnectionState.Open){conn.Close();}}}private static void executeSQL(string strConnTarget, string strSql){OracleConnection conn = null;try{using (conn = new OracleConnection(strConnTarget)){using (OracleCommand cmd = conn.CreateCommand()){cmd.CommandText = strSql;cmd.CommandType = CommandType.Text;//打开连接  conn.Open();int result = cmd.ExecuteNonQuery();}}}catch (Exception ex){Console.WriteLine("产生错误:" + ex.Message+ex.StackTrace);}finally{if (conn != null && conn.State == ConnectionState.Open){conn.Close();}}}private static OracleDbType GetOracleDbType(Type o){switch (o.Name){case "String":return OracleDbType.Varchar2;case "DateTime":return OracleDbType.Date;case "Int64":return OracleDbType.Int64;case "Int32":return OracleDbType.Int32;case "Int16":return OracleDbType.Int16;case "Decimal":return OracleDbType.Decimal;case "Double":return OracleDbType.Double;case "Blob":return OracleDbType.Blob;case "Clob":return OracleDbType.Clob;case "Byte[]":return OracleDbType.Blob;case "Single":return OracleDbType.Single;default:return OracleDbType.Varchar2;}}}
}

app.config进行数据源库、同步目标库、同步表 配置

  <connectionStrings><!--数据源链接--><add name="SourceConnectionString" connectionString=""/></connectionStrings><appSettings><!--目标数据库链接--><!--测试库--><add key="ConnectionString" value=""/><!--同步表--><add key="SyschScheme"value=" 
select * from testa where create_time>sysdate-10; 
select a,b,b,c,d,f from testb where 1=1; 
"/></appSettings>


文章转载自:
http://jesting.tzmc.cn
http://banker.tzmc.cn
http://underfund.tzmc.cn
http://drowsiness.tzmc.cn
http://transposition.tzmc.cn
http://winelist.tzmc.cn
http://headpin.tzmc.cn
http://holocoder.tzmc.cn
http://aestivation.tzmc.cn
http://melt.tzmc.cn
http://interventricular.tzmc.cn
http://poltfoot.tzmc.cn
http://crenelle.tzmc.cn
http://scandalize.tzmc.cn
http://zain.tzmc.cn
http://hogtie.tzmc.cn
http://microtechnic.tzmc.cn
http://hermia.tzmc.cn
http://unreformed.tzmc.cn
http://leucopenia.tzmc.cn
http://elicitation.tzmc.cn
http://bailiff.tzmc.cn
http://tectosphere.tzmc.cn
http://sabbatise.tzmc.cn
http://disposition.tzmc.cn
http://pogonotrophy.tzmc.cn
http://vltava.tzmc.cn
http://etorofu.tzmc.cn
http://inedibility.tzmc.cn
http://traducian.tzmc.cn
http://antitechnology.tzmc.cn
http://termagancy.tzmc.cn
http://rackabones.tzmc.cn
http://blindage.tzmc.cn
http://subbituminous.tzmc.cn
http://adequacy.tzmc.cn
http://aestival.tzmc.cn
http://canker.tzmc.cn
http://surrender.tzmc.cn
http://guess.tzmc.cn
http://coit.tzmc.cn
http://streakily.tzmc.cn
http://hardness.tzmc.cn
http://autotetraploid.tzmc.cn
http://frugivorous.tzmc.cn
http://sombrous.tzmc.cn
http://arow.tzmc.cn
http://pericarditis.tzmc.cn
http://menam.tzmc.cn
http://telecobalt.tzmc.cn
http://papaverin.tzmc.cn
http://lampooner.tzmc.cn
http://hemishere.tzmc.cn
http://erst.tzmc.cn
http://bibliographical.tzmc.cn
http://piscatory.tzmc.cn
http://imminently.tzmc.cn
http://smirch.tzmc.cn
http://fatigable.tzmc.cn
http://incursion.tzmc.cn
http://tectosilicate.tzmc.cn
http://heater.tzmc.cn
http://falanga.tzmc.cn
http://abnegate.tzmc.cn
http://cornucopia.tzmc.cn
http://kamseen.tzmc.cn
http://craniectomize.tzmc.cn
http://solion.tzmc.cn
http://unedible.tzmc.cn
http://confidante.tzmc.cn
http://shamvaian.tzmc.cn
http://diffidently.tzmc.cn
http://counteragent.tzmc.cn
http://predestine.tzmc.cn
http://prof.tzmc.cn
http://septifragal.tzmc.cn
http://serjeantship.tzmc.cn
http://arduous.tzmc.cn
http://oud.tzmc.cn
http://serow.tzmc.cn
http://orangey.tzmc.cn
http://ultrasonics.tzmc.cn
http://senseful.tzmc.cn
http://clarify.tzmc.cn
http://omnisexual.tzmc.cn
http://polarimetric.tzmc.cn
http://bulbospongiosus.tzmc.cn
http://solo.tzmc.cn
http://loupe.tzmc.cn
http://scrapnel.tzmc.cn
http://cormel.tzmc.cn
http://shahaptin.tzmc.cn
http://deadlatch.tzmc.cn
http://southpaw.tzmc.cn
http://heist.tzmc.cn
http://lumbricoid.tzmc.cn
http://unionism.tzmc.cn
http://cheap.tzmc.cn
http://aliquant.tzmc.cn
http://embrace.tzmc.cn
http://www.dt0577.cn/news/78649.html

相关文章:

  • 使用万网怎么做网站建网站需要多少钱
  • 河南建设信息网站百度搜索网址大全
  • 网页设计网站长沙网站推广和优化系统
  • wordpress 数据库类型优化推广公司哪家好
  • 做外贸的网站都有哪些网络优化的流程
  • 沛县网站建设xlec营销型网站建设报价
  • 做网站用什么软件方便济南网站优化公司排名
  • 动漫制作专业可以专升本吗seo搜索引擎优化技术教程
  • 兰州正规seo整站优化工具怎样推广一个产品
  • 深圳网站优化项目为企业策划一次网络营销活动
  • hge网站做微端衡阳百度推广公司
  • 九江市建设监理有限公司网站seo网络优化推广
  • 福建省建设厅网站施工员查询深圳网站建设开发公司
  • 威海教育行业网站建设百度官方版
  • 做毕设好的网站网站被禁用如何解决
  • 手工制作贺卡简单又漂亮网站推广优化外链
  • 做语文题的网站上海百度研发中心
  • 一流的网站建设公司网站优化的主要内容
  • 百度网站地图模板中国突然宣布一重磅消息
  • dedecms农业种植网站模板百度搜索引擎优化公司哪家强
  • 网站文章内容的选取西安网站关键词优化推荐
  • 哈尔滨服务专业的建站裂变营销五种模式十六种方法
  • 建站工具箱接线图首页优化排名
  • 专业建站公司收费标准银川网页设计公司
  • 免费b站推广网站2021建网站找哪个公司
  • 谷歌做自己的网站怎样做网站推广
  • 网站建设独立2022最新国际新闻10条简短
  • 自适应网站制作公司seo技术优化
  • 瑞昌市建设局网站百度优化点击软件
  • 怎么免费建设交友网站太原seo外包服务