2013-08-23 45 views
1

我有一個Excel文件,我需要解析,驗證,然後使用Interop加載到SQL Server數據庫中。通過閱讀工作表,閱讀每行(行和列)並將該行作爲Insert語句添加到List,我的應用程序可以正常工作,一切都很好。當我到達工作表的末尾時,我將所有Insert語句作爲一個批處理執行。C#將文件讀入數據庫

我遇到的問題是當工作表很大(1000+行)時,它使用了大量的RAM。對於更大的數據是否有更好或更有效的策略?我應該提交更多清單嗎?

+0

不知道你是否在內存上節省了很多,但是「更好或更有效的大數據策略」可能會使用[SqlBulkCopy](http://msdn.microsoft.com/library/system.data .sqlclient.sqlbulkcopy.aspx)。其他建議 – Corak

+1

如果我們能看到你的代碼會更好。可能還有其他一些線路來提高效率。 –

回答

2

我不認爲你可以在解析方面做很多事情(除非你自己編碼),但只要有一行可用,我就會輸入INSERT數據。無需將其存儲在列表中。在你的解決方案中,基本上是將所有數據存儲兩次(一次存儲在「Excel存儲器」中,一次存儲在「數據庫插入存儲器」中)。

+0

好的。乾杯 – Adrian