string strConn = "Data Source=192.18.11.200;Initial Catalog=dbXianNew;user=sa;pwd=test;"; SqlConnection conn = new SqlConnection(strConn); //源连接 conn.Open(); //查询元数据 string strSql = "select * from XiAnData where (LU_MING is not null or LU_MING<>'') and (FANG_JIAN_HAO is not null or FANG_JIAN_HAO<>'') " + "and not ((JIAN_ZHU_MJ1 is null or JIAN_ZHU_MJ1='') and (JIAN_ZHU_MJ2 is null or JIAN_ZHU_MJ2='') and (SHI_YONG_MJ is null or SHI_YONG_MJ=''))"; SqlCommand cmd = new SqlCommand(strSql, conn); SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); DataTable table = new DataTable(); table.Columns.Add("id", typeof(System.Guid)); table.Columns.Add("di_zhi", typeof(String)); table.Columns.Add("dan_yuan", typeof(String)); table.Columns.Add("fang_jian_hao", typeof(String)); table.Columns.Add("hu_xing", typeof(String)); table.Columns.Add("mian_ji", typeof(String)); while (dr.Read()) { DataRow row = table.NewRow(); row["id"] = dr["ID"].ToString(); Regex r; // 声明一个 Regex类的变量 r = new Regex("\\d"); // 定义表达式 if (dr["HAO"] != null && dr["HAO"].ToString() != "" && dr["ZUO"] != null && dr["ZUO"].ToString() != "") { row["di_zhi"] = dr["LU_MING"].ToString() + dr["HAO"].ToString() + "号" + dr["ZUO"].ToString() + "座"; } else if (dr["HAO"] != null && dr["HAO"].ToString() != "") { row["di_zhi"] = dr["LU_MING"].ToString() + dr["HAO"].ToString() + "号"; } else if (r.Match(dr["LU_MING"].ToString()).Success) { row["di_zhi"] = dr["LU_MING"].ToString(); } if (dr["DAN_YUAN1"] != null && dr["DAN_YUAN1"].ToString() != "") { row["dan_yuan"] = dr["DAN_YUAN1"].ToString(); } else if (dr["FANG_JIAN_HAO"] != null && dr["FANG_JIAN_HAO"].ToString() != "" && dr["FANG_JIAN_HAO"].ToString().Length > 4) { row["dan_yuan"] = dr["FANG_JIAN_HAO"].ToString().Substring(0, dr["FANG_JIAN_HAO"].ToString().Length - 4); } row["fang_jian_hao"] = dr["FANG_JIAN_HAO"].ToString(); row["hu_xing"] = dr["HU_XING"].ToString(); if (dr["SHI_YONG_MJ"] != null && dr["SHI_YONG_MJ"].ToString() != "" && dr["SHI_YONG_MJ"].ToString() != "0") { row["mian_ji"] = dr["SHI_YONG_MJ"].ToString(); } else if (dr["JIAN_ZHU_MJ1"] != null && dr["JIAN_ZHU_MJ1"].ToString() != "" && dr["JIAN_ZHU_MJ1"].ToString() != "0") { row["mian_ji"] = dr["JIAN_ZHU_MJ1"].ToString(); } else if (dr["JIAN_ZHU_MJ2"] != null && dr["JIAN_ZHU_MJ2"].ToString() != "" && dr["JIAN_ZHU_MJ2"].ToString() != "0") { row["mian_ji"] = dr["JIAN_ZHU_MJ2"].ToString(); } if (!string.IsNullOrEmpty(row["di_zhi"].ToString()) && !string.IsNullOrEmpty(row["fang_jian_hao"].ToString()) && !string.IsNullOrEmpty(row["mian_ji"].ToString())) { table.Rows.Add(row); } } dr.Close(); conn.Open(); using (SqlBulkCopy bc = new SqlBulkCopy(conn)) { bc.BatchSize = 50000; bc.BulkCopyTimeout = 50000; bc.DestinationTableName = "t_xian1"; bc.WriteToServer(table); } conn.Close();