c# - 人们如何将大量数据 (ETL) 从 ASP.NET 网站导入数据库?

标签 c# asp.net azure background etl

问题:我们希望对一些 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/

相关文章:

时间:2018-01-08 标签:c#winforms: searching for datagridview event that will fire after changing cell value AND cell focus

c# - 如何在代码隐藏中访问aspx控件?

asp.net - 尝试执行 : make a jQuery Ajax call to a web service that should return JSON 的代码

azure - 使用多个存储帐户配置 Azure SFTP 网关

c# - 泛型方法重载的问题

c# - 使用 C# 获取 SQL Server 列的数据类型

asp.net - ASP.NET 中 HTTP 和 HTTPS 页面之间的 Request.Form

javascript - 如何在 JavaScript SPA WebApp 登录表单中实现 SAML 2.0 身份验证?

azure - 无法调试 Azure Function - Visual Studio 2017

c# - 如何在c#中获取Json值