我正在用asp.net visual studio 2008/SQL 2000(2005年將來)使用c#開始一個項目。將csv文件/ excel導入到sql數據庫asp.net
對我來說,棘手的部分是現有的數據庫模式經常變化,導入文件列都必須與現有的數據庫模式匹配,因爲它們可能不是列名稱上的一對一匹配。 (有一個查找表,提供表格架構與我將使用的列名稱)
我正在探索不同的方法來解決這個問題,並需要一些專家的建議。是否有任何現有的控件或框架可以用來完成這些任務?
到目前爲止,我探討的FileUpload .NET控件,以及一些第三方上傳控件實現上載如SlickUpload但上傳的應該是< 500MB
下一部分是讀我的CSV的文件/ Excel和解析它以顯示給用戶,以便它們可以與我們的數據庫模式相匹配。我看到了CSVReader等等,但對於excel來說更難,因爲我需要支持不同的版本。
本質上執行此導入的用戶將從此導入文件中插入和/或更新多個表。還有其他更多先進的要求,例如記錄匹配,但還有預覽導入記錄,但我希望通過理解如何首先執行此操作。
更新:我最終使用csvReader與LumenWorks.Framework上傳csv文件。
是的,我使用的是SQL Server 2000,但它也需要支持SQL Server 2005。我不熟悉SqlBulkCopy,並會研究這一點。我想我會需要使用別的東西才能更新 – kiev 2009-01-29 14:38:25
啊對。所以你需要做插入和更新? SqlBulkCopy非常適合將大量數據高效地插入數據庫,但不直接處理更新。 您可以使用臨時表和其他一些SQL將數據移動到您真正想要修改的表中來解決此問題。 – 2009-01-30 00:40:16