conn.Open();
string mappingXML = System.Web.HttpContext.Current.Server.MapPath("~/ImportTemp/MappingXML/TF_CHK_MOBILECHKDATA.xml");
//excel列与表字段映射关系
Dictionary<string, string> mappingDic = Import.LoadMapping(mappingXML);
OracleBulkCopy bulkCopy = new OracleBulkCopy(OracleHelper.ConnString, OracleBulkCopyOptions.UseInternalTransaction);
bulkCopy.BatchSize = 10000;
bulkCopy.BulkCopyTimeout = 260;
bulkCopy.DestinationTableName = "TF_CHK_MOBILECHKDATA";
foreach (KeyValuePair<string, string> kv in mappingDic)
{
bulkCopy.ColumnMappings.Add(kv.Key, kv.Value);
}
bulkCopy.WriteToServer(dt);
bulkCopy.Dispose();
/// <summary>
/// 处理映射关系
/// </summary>
public static Dictionary<string, string> LoadMapping(string mappingXML)
{
Dictionary<string, string> mappingDic = new Dictionary<string, string>();
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(mappingXML);
XmlNodeList list = xmldoc.SelectNodes("//Field");
for (int i = 0; i < list.Count; i++)
{
XmlNode node = list[i];
string excelCoumn = node.Attributes["excelCoumn"].Value;
string column = node.Attributes["column"].Value;
mappingDic.Add(excelCoumn, column);
}
return mappingDic;
}
<?xml version="1.0" encoding="utf-8" ?>
<Fields>
<Field excelCoumn="设备名称" column="devicename" />
<Field excelCoumn="设备编号" column="devicecode" />
<Field excelCoumn="设备类型" column="devicetype" />
<Field excelCoumn ="省份" column="provincename" />
<Field excelCoumn ="地市" column="cityname" />
<Field excelCoumn ="所属区域" column="countyname" />
<Field excelCoumn="所属站址编码" column="siteid" />
<Field excelCoumn="所属站址名称" column="sitename" />
<Field excelCoumn="机房名称" column="machineroomname" />
<Field excelCoumn="生产厂商" column="manufacturer" />
<Field excelCoumn="设备型号" column="DEVICEMODE" />
<Field excelCoumn="单组蓄电池个数" column="singlebatterysum" />
<Field excelCoumn="单组额定容量(AH)" column="singleratedcapacity" />
<Field excelCoumn="产权性质" column="propertynature" />
<Field excelCoumn="(原)产权单位" column="propertyunit" />
<Field excelCoumn="资源来源" column="sourceresource" />
<Field excelCoumn="创建人" column="createuser" />
<Field excelCoumn="创建时间" column="createtime" />
<Field excelCoumn="修改人" column="editperson" />
<Field excelCoumn="修改时间" column="edittime" />
<Field excelCoumn="物理站址编码" column="physicalsitecode" />
<Field excelCoumn="资产接收类型" column="assetreceivingtype" />
<Field excelCoumn="开始使用时间" column="startusetime" />
<Field excelCoumn ="备注" column="remark" />
<Field excelCoumn ="数据来源" column="datasource" />
<Field excelCoumn ="设备ID" column="deviceid" />
<Field excelCoumn ="所属机房ID" column="positionid" />
<Field excelCoumn ="所属站点ID" column="machineroomid" />
</Fields>