批量导入数据库

    public bool MsSqlBulkCopyData(DataTable dt, string connectionString)
        {
            bool result;
            try
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();
                    SqlTransaction trans = conn.BeginTransaction();
                    SqlBulkCopy sqlbulkCopy = new SqlBulkCopy(conn, SqlBulkCopyOptions.Default, trans);
                    sqlbulkCopy.DestinationTableName = dt.TableName;
                    sqlbulkCopy.BulkCopyTimeout = 1000;
                    foreach (DataColumn dtColumn in dt.Columns)
                    {
                        sqlbulkCopy.ColumnMappings.Add(dtColumn.ColumnName, dtColumn.ColumnName);
                    }
                    try
                    {
                        sqlbulkCopy.WriteToServer(dt);
                        trans.Commit();
                        result = true;
                    }
                    catch
                    {
                        trans.Rollback();
                        sqlbulkCopy.Close();
                        result = false;
                    }
                    finally
                    {
                        sqlbulkCopy.Close();
                        conn.Close();
                    }
                }
            }
            catch (Exception e)
            {
                this.Logger.WriteLog("-----------利用Net SqlBulkCopyData 批量导入数据库,速度超快-----------\r\n" + e.Message + "\r\n");
                result = false;
            }
            return result;
        }
时间: 2024-10-27 07:46:54

批量导入数据库的相关文章

维护数字字典时,批量导入数据库的列注释、类型等相关信息

导出的格式形如: use ppdai_vd; go SELECT 'ppdai_vd' AS 数据库名, a.name as '表名' , isnull(e.value,'') as '表注释', CONVERT(VARCHAR(19), a.create_date ,23) AS '创建时间', b.column_id as '字段序号', b.name as '字段名', '数据类型' = case when c.name IN ('varchar','nvarchar','varbinar

用java实现excel数据批量导入数据库

不管是做软件还是做网站,相信很多人在做的时候都要用到数据库,而数据库的数据从何而来呢,可以使手动添加的,但是大多数情况下我们使用的是已有的数据,我们想借助开发的工具管理目前已有的数据,如果是小量的数据,手动录入也无妨,但是对于大量数据呢,手动录入显然已经不显示,而且,更多的时候,我们呢想在软件上增加一个数据的批量导入,这样不管是谁在用这款软件,都可以方便的管理已有数据,那么我们最常用的数据管理器是什么呢,毫无疑问Excel,但是我们做软件是几乎没有人会使用Excel作为DB,所以我们遇到的问题就

使用SqlBulkCopy实现Excel批量导入数据库

引言: 导入Excel数据时候,因为数据量大,使用 linq 操作插入的时候,很慢.考虑使用ado.net操作数据库方式导入数据.由于数据量比较大使用SqlBulkCopy来实现批量导入. 一.代码解释: 1.将要导入的excel上传保存到服务器. 2.使用OleDbDataAdapter获取excel中的数据插入tab中. 3.在内存中创建一个表newDT,将tab表做修改后更新到newDT中. 4.使用SqlBulkCopy批量将newDT内存表数据插入到数据库表Sys_StuUser中.

将Excel中的数据批量导入数据库表

private boolean import_to_database(String excel_path) throws BiffException, IOException, HsException{ File file = new File(excel_path);//根据文件名创建一个文件对象 Workbook wb = Workbook.getWorkbook(file);//从文件流中取得Excel工作区对象 Sheet sheet = wb.getSheet(0);//从工作区中取得

C# NPOI的数据批量导入数据库

public ActionResult Upload(HttpPostedFileBase Namefile)        {            //判断文件是否存在            if (Namefile == null)            {                return Content("没有文件");            }            //获取上传文件的名称,位置            var fileName = DateTime

使用python,将excel数据批量导入数据库

这是上一篇文章的优化版本,相较于一条一条的执行sql语句,本文中,将excel中所有的数据先写到list列表中 在通过函数 cursor.executemany(sql, list) 一次性写入到数据库中 import pymysql import xlrd ''' 连接数据库 args:db_name(数据库名称) returns:db ''' def mysql_link(de_name): try: db = pymysql.connect(host="127.0.0.1", u

使用Statement 的addBatch方法批量导入数据库

1 try { 2 boolean auto = conn.getAutoCommit(); 3 conn.setAutoCommit(false); 4 5 Statement stat = conn.createStatement(); 6 Iterator<String> it = sourcetime.iterator(); 7 // System.out.println("get sourcetime iterator successfully"); 8 whil

2007版本excel多个sheet页数据通过ibatis批量导入数据库

页面部分 <form method="post" name ="test" enctype="multipart/form-data"> <input type="file" name="file"/> </form> 实体类部分 public Class Test{ private String id; private String name; private Stri

java实现文件批量导入导出实例(兼容xls,xlsx)

1.介绍 java实现文件的导入导出数据库,目前在大部分系统中是比较常见的功能了,今天写个小demo来理解其原理,没接触过的同学也可以看看参考下. 目前我所接触过的导入导出技术主要有POI和iReport,poi主要作为一些数据批量导入数据库,iReport做报表导出.另外还有jxl类似poi的方式,不过貌似很久没跟新了,2007之后的office好像也不支持,这里就不说了. 2.POI使用详解 2.1 什么是Apache POI? Apache POI是Apache软件基金会的开放源码函式库,