问题:我们希望对一些 csv 数据执行一些 ETL(提取、转换、加载),该过程通过 ASP.NET 网站中的网页手动启动。
上下文
我们有一个 ASP.NET 网站,其中包含受限制的 Admin
部分。
在本节中,我们希望添加一个页面,允许用户单击按钮来选择要导入到 Sql Server DB 表中的文件。
其中一些文件可能包含大量行 - 500,000。 (每行大约有 300-400 个字符长,超过大约 13 个“列”..csv'd。)。
现在,导入它可能需要一段时间。就像,我希望将文件内容上传到某个地方,然后启动一些后台任务。
我想知道人们现在是如何做到这一点的?
我们在 Azure 上,所以我猜我们可以访问 Azure blob、队列和 webjobs。只是不确定这是否是一个已被多次解决的常见问题,并且有一些引用资料可供查看。
谢谢!
最佳答案
嗯,这很容易。我以前遇到过这个问题。
漫长的道路:
1._上传文件。
2._ 获取文件进行验证
3._ 转换为数据表(我真的不记得我使用的库的名称)
4._ 使用 native 批量 SQL(没有 ORMS,它非常简单且快速)
注意:确保 webconfig 配置为支持大文件。
简短的方式: 使用 SSRS 创建一个采用 csv 并将字段映射到表的包
关于c# - 人们如何将大量数据 (ETL) 从 ASP.NET 网站导入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34538880/