我正在用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