ado.net(OLEDB)读取数据,然后用SqlBulkCopy导入就行了哇。记得用DataReader。
如果mdb过大 怎么解决性能问题呢?
@差生: 我干过导入Excel(100M+)到数据库的,首先采用DataReader读取,然后用DataReader写入,这样不会出现内部溢出的问题,然后就是OLEDB读取Excel(Access)的这块,这个我做的时候读取一个文件,要2~3分钟,貌似没办法提速。
@幻天芒: 这个导出的话还好吧,如果导入的时候因为在改变orcale数据库数据的过程中 用户把浏览器关闭了,这该怎么办?也不能用事务处理吧。
@差生: 文件已经在服务器了,和客户端没任何关系,而且你需要做异步导入。要不然,客户需要等很久。
@幻天芒: 比较菜,能给个例子看吗
@差生: 没具体代码。
1、上传文件;
2、响应请求;
3、后台执行导入;
@幻天芒: TASK 怎么样?能用吗?
@差生: 可以的,4.0以上的Framework支持。
@幻天芒: 我的vs2010 为什么不能用task啊
@差生: 要看Framework的版本~
@幻天芒: SqlBulkCopy 能将oracle 导入 mdb?
@差生: 可以的~DataTable做中转。
告诉你一个不幸的消息,ACCESS文件(MDB)大小超过100M,非常容易出问题。