方法 | 分类 | 说明 |
CopyDataFromCSVFile | 同步数据 | 上传CSV文件中的数据到指定表中。 |
CopyDataNormally | 同步数据 | 从DataTable中获得数据,并以常规的方式插入到数据库的指定数据表中。此方法为常规方法,较为通用,不会有不兼容问题。缺点是速度慢,一次性不能处理大批量的数据。 |
CopyDataWithDataReader | 同步数据 | 使用DataReader对象从一个数据源的数据表复制到别个一个数据源的数据表中。此方法对内存占用少一点。如果数据源支持SqlBurkCopy则会以更快的速度进行拷贝。 |
CsvFileUpload | 同步数据 | 直接上传CSV文件到数据库的指定表中。 |
SqlBurkCopy(DataTable, String, Dictionary< String, String> , Boolean) | 同步数据 | 从DataTable中获得数据,并以最快的速度插入到数据库的指定数据表中。抽象类中实现方式直接用最基本的最慢的方式来实现。子类如果想要快速的话,必须要自己实现。 |
SqlBurkCopy(DbDataReader, String, Dictionary< String, String> , Boolean) | 同步数据 | 从DataReader中获得数据,并以最快的速度插入到数据库的指定数据表中。 |
SyncData | 同步数据 | 以最快的速度从另外一个数据库中同步数据。 |
UpdateData | 同步数据 | 在两个不同的数据源之间更新数据。更新的方式是先把源数据库中的表直接拷贝一份到目标数据库中(因为很多数据库支持SqlBurkCopy这种快速拷贝技术,所以从性能上来说比较划算)。 然后再通过SQL语句将临时表中的数据更新到目标表中。这种方式更新效率是最好的。比另外一种直接先删除目标数据表中所有数据然后重新拷贝数据要好一点。不会造成自增长ID因为不停地删除新增而基数暴增。 注意,目前只有SQLServer和MySQL两种数据库支持多关联字段能正常删除目标数据表中多余的记录。其他的只支持单关联字段。 |
UpdateDataWithDataTable | 同步数据 | 直接粗暴地将数据库中所有的数据全部加载到内存,然后一条一条比对更新。这种方法适合数据量不大的场景。切记不可乱用! |
UploadFile | 同步数据 | 根据筛选条件上传文件到数据库指定表的指定列中。请保存 |