首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >人们如何从ASP.NET网站将大量数据导入数据库?

人们如何从ASP.NET网站将大量数据导入数据库?
EN

Stack Overflow用户
提问于 2015-12-30 23:30:46
回答 4查看 1K关注 0票数 0

Problem:我们希望对一些csv数据做一些ETL (提取、转换、加载),在这些数据中,进程通过ASP.NET网站中的一个网页手动启动。

上下文

我们有一个ASP.NET网站,其中包括一个限制性的Admin部分。

在本节中,我们希望添加一个允许用户单击-a-按钮来选择要导入到Server表中的文件的页面。

其中一些文件可能包含很多行-50万行。(每一行约300至400个字符长,大约13列。csv.)

现在,进口这个可能需要一段时间。就像,我希望上传文件内容到某个地方,然后一些背景任务开始。

我在想人们现在是怎么做到的?

我们在Azure,所以我们可以访问Azure的斑点,队列和网络作业,我想。只是不确定这是否是一个常见的问题,已经解决了很多次,并有一些参考材料,以审查。

谢谢!

EN

回答 4

Stack Overflow用户

发布于 2015-12-30 23:37:10

这很容易。我以前也面临过这个问题。

漫长的道路:

1._上传文件。

2._接受文件进行验证

3._转换为datatable (我真的不记得我使用的库的名称)

4._使用本机批量的sql (没有ORMS,它非常简单和快速)

注意:确保它的webconfig配置为支持大量文件。

简短的方式:使用SSRS --创建一个包含csv并将字段映射到表中的包

票数 1
EN

Stack Overflow用户

发布于 2015-12-31 03:27:42

我将假设您已经解决了CSV解析(使用CSV或类似工具)。但是,当正常的页面交互在请求/响应生命周期中运行时,您遇到的问题是如何在网站中处理这个长期运行的任务。但是解析一个大的CSV文件对于一个正常的请求/响应生命周期来说太长了。

是的,这是一个已解决的问题。关于Azure,您可以使用很多工具,您已经提到了其中的一些工具。您还可以启动一个外部应用程序来进行处理,也许可以使用消息队列。但是你也可以完全用ASP.NET来做,Scott有一个关于这个问题的伟大的博客文章。它归结为使用某种类型的库来处理在没有HTTP上下文的情况下在ASP.NET中运行的危险,并且通常选择一个可以在应用程序崩溃中生存下来的工具。像Quartz.NET和汉火这样的库。

从本质上说,有了这类库,您就可以启动一个任务来进行处理,并且可以在它完成后再检查。

票数 1
EN

Stack Overflow用户

发布于 2015-12-30 23:50:38

在单个工具(如SSIS )中执行所有ETL进程。稍后处理您的自定义ETL工具将是一场噩梦。或者您的网站可以触发SSIS ETL。使您的网站把文件放在SSIS可以拾取的位置。

Azure的SSIS

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34538880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档