zoukankan      html  css  js  c++  java
  • C# 超大数据量导入 SqlBulkCopy

     1         public static void ImportTempTableDataIndex(DataSet ds,string TempTableName,string strSqlConnection)
     2         {
     3 
     4             //获取写入连接
     5             string str = strSqlConnection;
     6             SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder(str);
     7             string DataSource = sb.DataSource;
     8             string PersistSecurityInfo = sb.PersistSecurityInfo.ToString();
     9             string Pwd = sb.Password;
    10             string UserID = sb.UserID;
    11             string basestr = sb.InitialCatalog;
    12             string InitialCatalog = sb.InitialCatalog;
    13 
    14             //开始写入数据
    15             str = $"Data Source={DataSource};database={basestr};user={UserID};password={Pwd}";
    16             using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(str, SqlBulkCopyOptions.UseInternalTransaction))
    17             {
    18                 //DataSet与数据库表一一对应时不需要写对应关系
    19                 //sqlBulkCopy.ColumnMappings.Add("ID", "ID");
    20 
    21 
    22                 sqlBulkCopy.EnableStreaming = true;
    23                 sqlBulkCopy.DestinationTableName = $"{TempTableName}";
    24                 sqlBulkCopy.WriteToServer(ds.Tables[0]);
    25 
    26                 sqlBulkCopy.Close();
    27             }
    28             ds.Dispose();
    29         }

    此方法测试30万记录,20个varchar(255)字段,导入6秒左右完成。

  • 相关阅读:
    sizeof与strlen的区别
    面试题46:求1+2+...+n
    opennebula 安装指定参数
    opennebula 开发记录
    virsh 查看hypervisor特性
    opennebula kvm日志
    Cgroup
    opennebula kvm 创建VM oned报错日志
    opennebula kvm 创建虚拟机错误
    golang hello
  • 原文地址:https://www.cnblogs.com/dcrenl/p/12802257.html
Copyright © 2011-2022 走看看