建议使用DTS或SSIS插入数据库.

解决方案 »

  1.   

    分批用System.Data.SqlClient.SqlBulkCopy批量插入。1kw估计也就10几分钟。
    参考下面地址的SqlBulkCopy部分
    http://blog.csdn.net/jinjazz/archive/2008/07/14/2650506.aspx
      

  2.   

     #region 批量插入
            /// <summary>
            /// 将DataTable中数据批量插入远程服务器的数据表中
            /// </summary>
            /// <param name="dt">源数据集</param>
            /// <param name="Conn">目标服务器的数据连接字符串</param>
            /// <param name="FieldStr">要插入的字段</param>
            /// <param name="TableName">目标服务器的表名</param>
            //protected void SqlBulkCopyData(DataTable dt, string Conn, string[] FieldStr, String TableName)
            //{
            //    //使用SqlBulkCopy把内存表DataTable里的数据插入答卷数据表
            //    SqlBulkCopy bcp = new SqlBulkCopy(Conn);        //    //指定目标数据库的表名
            //    bcp.DestinationTableName = TableName;        //    //指定源列和目标列
            //    foreach (string field in FieldStr)
            //    {
            //        bcp.ColumnMappings.Add(field, field);
            //    }
            //    //写入数据库表
            //    bcp.WriteToServer(dt);        //    bcp.Close();        //}        #endregion