/// <summary> /// sqlBulkCopy快速导入 /// </summary> /// <param name="connectionString">目标连接字符</param> /// <param name="TableName">目标表</param> /// <param name="dt">源数据</param> public int SqlBulkCopyByDatatable(string tdConnStr, List<DataSource> dsColumns, List<DataSource> tdColumns, string Insertsql, ImportEnum importEnum) { int count = 0; switch (importEnum) { case ImportEnum.OneToOne: count = SqlBulkCopyForOneToOne(tdConnStr, dsColumns.FirstOrDefault(), tdColumns.FirstOrDefault(), Insertsql); break; case ImportEnum.MoreToOne: count = SqlBulkCopyForMoreToOne(tdConnStr, dsColumns, tdColumns.FirstOrDefault(), Insertsql); break; } return count; }
/// <summary> /// 委托异步完成导入工作 /// </summary> /// <param name="Connstr"></param> /// <param name="CommandTypetext"></param> /// <param name="sqlText"></param> /// <returns></returns> public int ThreadProcByBulk(string targetConnstr, List<DataSource> DSInfoForSql, List<DataSource> TDInfoForSql, string sqlSelect, ImportEnum importEnum) { return sqlInstance.SqlBulkCopyByDatatable(targetConnstr, DSInfoForSql, TDInfoForSql, sqlSelect, importEnum); }
/// <summary> /// 准备SQL语句拼接 /// </summary> /// <param name="datasrc"></param> /// <param name="rmtuser"></param> /// <param name="rmtpassword"></param> /// <param name="dsColumns"></param> /// <param name="tdColumns"></param> /// <returns></returns> public static List<string> PerpareSqlString(List<DataSource> dsColumns, List<DataSource> tdColumns, string whereSql, string top, ImportEnum importEnum) { List<string> listsql = new List<string>(); switch (importEnum) { case ImportEnum.OneToOne: case ImportEnum.OneToMore: listsql = PerpareSqlStringForOneToOne(dsColumns.FirstOrDefault(), tdColumns.FirstOrDefault(), whereSql, top); break; case ImportEnum.MoreToOne: listsql = PerpareSqlStringForMoreToOne(dsColumns, tdColumns.FirstOrDefault(), whereSql, top); break; } return listsql; }