zoukankan      html  css  js  c++  java
  • 使用bulkCopy心得

    最近一直在到excel导入,无意中发现Bulk Insert 批量导入,于是研究了一下,在测试的时候一直有问题,然后找度娘帮忙,说新增DataTable数据结构的时候,每个列要与数据库设计时字段对应,然后试了一下,OK了。

    写这个主要是记录遇到的问题,下次再遇到的时候,能及时解决,也希望能帮助更多的朋友。

    public static void BulkToDB(DataTable dt)
             {
                // SqlConnection sqlConn = new SqlConnection("Data Source=192.168.6.162 ;Initial Catalog=DBMarkingSchool;User ID=sa;Password=123456");
                 SqlConnection sqlConn = new SqlConnection(dbConnectionString);
                 SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConn);
                 bulkCopy.DestinationTableName = "Students";//数据库表名
                 bulkCopy.BatchSize = dt.Rows.Count;
                 try
                 {
                     sqlConn.Open();
                     if (dt != null && dt.Rows.Count != 0)
                         bulkCopy.WriteToServer(dt);
                 }
                 catch (Exception ex)
                 {
                     //new AppException("批量生成直播室账号异常", ex);
                 }
                 finally
                 {
                    sqlConn.Close();
                     if (bulkCopy != null)
                        bulkCopy.Close();
                 }
             }
    

      

     1  public DataTable GetTableSchema()
     2         {
     3             DataTable dt = new DataTable();
     4             dt.Columns.AddRange(new DataColumn[]{  
     5                  new DataColumn("studentID",typeof(Guid)),
     6                 new DataColumn("studentCode",typeof(string)),         
     7                 new DataColumn("studentName",typeof(string)),
     8                 new DataColumn("schoolCode",typeof(string)),
     9                 new DataColumn("gradeCode",typeof(string)),
    10                  new DataColumn("classesCode",typeof(string)),
    11                  new DataColumn("period",typeof(string)),
    12                  new DataColumn("nationChineseIdentifyCode",typeof(string)),
    13                  new DataColumn("scienceOrArtIdentifyCode",typeof(string)),
    14                  //new DataColumn("examRoomCode",typeof(Guid)),
    15                  //new DataColumn("seatNumber",typeof(int))
    16              });//数据库表结构
    17             return dt;
    18         }
  • 相关阅读:
    iozone
    2019-11-23-WPF-使用-RawInput-接收裸数据
    2019-11-22-Roslyn-在多开发框架让-msbuild-的-Target-仅运行一次
    2019-3-1-C#-json-转-xml-字符串
    2018-11-19-visualStudio-无法登陆
    2019-4-21-Roslyn-通过-NuGet-库修改应用程序入口函数
    2019-8-31-dotnet-core-集成到-Mattermost-聊天工具
    2019-7-29-win10-UWP-使用-MD5算法
    2018-8-10-C#-TimeSpan-时间计算
    2019-6-15-WPF-触摸到事件
  • 原文地址:https://www.cnblogs.com/ps903942560/p/4610533.html
Copyright © 2011-2022 走看看