日期:2014-05-17  浏览次数:20443 次

请教:如何客户端快速将大量数据导入access?
ASP+SQL. 因为sql服务器不允许装MDE Enginee之类的东西,所以无法用存储过程bulkcopy将sql数据导入access. 现在只能在客户端将sql里的记录导入access。因为数据量很大,几十万条,现在一条条读,用datatable写入MDB,需要十多分钟,现在有没有好的办法在网页客户端将SQL快速倒入access?谢谢
以下是我目前的代码,有没有办法能改进一下,让导入大量数据速度快点?
using (System.Data.SqlClient.SqlCommand sqlcmd1 = new System.Data.SqlClient.SqlCommand("select * from [Tbl_users]", SQLconn))
                        {
                            sqlcmd1.CommandType = System.Data.CommandType.Text;
                            SqlDataAdapter sda = new SqlDataAdapter(sqlcmd1);
                            DataTable dt = new DataTable();
                            sda.Fill(dt);

                            for (int i = 0; i < dt.Rows.Count; i++)
                            {
                                mdbcmd1.Parameters.Clear();
                                mdbcmd1.Parameters.AddWithValue("@[username]", dt.Rows[i]["username"].ToString());
                                mdbcmd1.Parameters.AddWithValue("@[phone]", dt.Rows[i]["phone"].ToString());
                                mdbcmd1.Parameters.AddWithValue("@[birthday]", dt.Rows[i]["birthday"].ToString());
                                mdbcmd1.Parameters.AddWithValue("@[address]", dt.Rows[i]["address"].ToString());

                                mdbcmd1.ExecuteNonQuery();
                            }

                        }

------最佳解决方案--------------------
使用SSIS包,新建workflow,再在workflow基础上创建源,目标导向,可以快