oracle 大数据导入

 OracleConnection conn = new OracleConnection(OracleHelper.ConnString);
            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>







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值