C# CSV文件导入SQLServer数据库 实测3万条数据一次性导入

        最近在做一个国外项目,发现他们接口还是使用的文件服务器的方式,采用CSV文件的方式将数据传输给我。网上关于此类方式的消息少之又少,特此写下此篇经验。

        源代码如下:

                string connectionString = "server = (local); uid = sa; pwd = aaa; database = bbb";
                string strConn = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=";
                strConn += "F:\\Stock\\";//这个地方只需要目录就可以了                                                      
                strConn += ";Extensions=asc,csv,tab,txt;";
                OdbcConnection objConn = new OdbcConnection(strConn);
                try
                {
                    string strSQL = "select * from " + "stock_view.csv";//文件名,不要带目录
                    OdbcDataAdapter da = new OdbcDataAdapter(strSQL, objConn);
                    //DataSet ds = new DataSet();
                    da.Fill(ds);

                }
                catch
                {

                }
                //用bcp导入数据        
                //excel文件中列的顺序必须和数据表的列顺序一致,因为数据导入时,是从excel文件的第二行数据开始,不管数据表的结构是什么样的,反正就是第一列的数据会插入到数据表的第一列字段中,第二列的数据插入到数据表的第二列字段中,以此类推,它本身不会去判断要插入的数据是对应数据表中哪一个字段的     
                using (System.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(connectionString))
                {
                    bcp.SqlRowsCopied += new System.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowsCopied);
                    bcp.BatchSize = 100;//每次传输的行数        
                    bcp.NotifyAfter = 100;//进度提示的行数        
                    bcp.DestinationTableName = "Product";//目标表        
                    bcp.WriteToServer(ds.Tables[0]);
                }


     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值