SQLBulk问题集

2022/5/22 10:51:05

本文主要是介绍SQLBulk问题集,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

项目中操作数据库用到这个sqlBulk

场景1:碰到数据批量插入(先加入概念吧)

sqlBC.ColumnMappings.Add(dt的列名,数据库字段);
        public static string InsertTable(IDbConnection dbConn, DataTable dt, string TabelName,IEnumerable<ColumnMapInfo> fieldsList=null)
        {
            string result = "success";

            //声明数据库连接

            //using (SqlConnection conn = (SqlConnection)dbConn)
            SqlConnection conn = (SqlConnection)dbConn;
            {
                
                conn.Open();
                //声明SqlBulkCopy ,using释放非托管资源
                using (SqlBulkCopy sqlBC = new SqlBulkCopy(conn))
                {
                    sqlBC.BulkCopyTimeout = 900;//15分钟
                    //一次批量的插入的数据量
                    sqlBC.BatchSize = 10000;
                    //超时之前操作完成所允许的秒数,如果超时则事务不会提交 ,数据将回滚,所有已复制的行都会从目标表中移除
                    sqlBC.BulkCopyTimeout = 1000;

                    //設定 NotifyAfter 属性,以便在每插入10000 条数据时,呼叫相应事件。 
                    //sqlBC.NotifyAfter = 10000;
                    //sqlBC.SqlRowsCopied += new SqlRowsCopiedEventHandler(OnSqlRowsCopied);

                    //设置要批量写入的表
                    sqlBC.DestinationTableName = TabelName;
                    if (fieldsList!=null && fieldsList.Count()>0)
                    {
                        foreach (var m in fieldsList) sqlBC.ColumnMappings.Add(dt的列名,数据库字段);
                    }

                    //try
                    {
                        //批量写入
                        sqlBC.WriteToServer(dt);
                    }
                    catch (Exception ex)
                    {
                        result = ex.Message;
                    }
                }
                conn.Close();
            }


            return result;
        }

 

场景2:

给定的 columnmapping 与源或目标中的任意列均不匹配

结果:这个我查询得最久,额,就是列名和数据库不一致(列名的排列顺序无关)

 

注:这里可以使用SQL Server Profieler 进行跟踪,但是发现只有直接插入的才有可以查看的数据(异常的都是出现在还没组成sql语句执行前的我看不懂的)

 

感谢:https://bbs.csdn.net/topics/310091635/

https://blog.csdn.net/u010476739/article/details/123335909

 



这篇关于SQLBulk问题集的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程