首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

请问:怎么客户端快速将大量数据导入access

2012-12-15 
请教:如何客户端快速将大量数据导入access?ASP+SQL. 因为sql服务器不允许装MDE Enginee之类的东西,所以无

请教:如何客户端快速将大量数据导入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基础上创建源,目标导向,可以快速完成从SQL到Access数据同步,详细的请楼主可以百度一下
------其他解决方案--------------------


批量导入效率的做法只有bulkcopy了。
[其他解释]
写一个程序,用DataReader一条条导,很快的。
[其他解释]
用datareader 好像也很慢。打算用OleDbDataAdapter,datatable ,现在已经将sql数据读到datatable,
但是不知道如何调用oledbdataadapter更新access。想用类似批量更新,例如读取300条就更新一次。
sql和access table 都是一样的,有username,address,phone...字段。
初学,最好有代码。谢谢了。
[其他解释]
导入到Access最快的莫过于事务了,应该没有别的更快了,像Access这种数据库性能本身就不好。
[其他解释]
用阅读器一边读取SQL里的记录,一边插入Access,对插入Access用事务。
[其他解释]
是的,ado.ent提供了,批量写入的功能,你查查SqlBulkCopy这个类库

热点排行