使用Vbscript处理大型csv(500k记录)并将其导入SQL server的最佳方法是什么?
我有一个系统,需要通过CSV上传导入大量姓名和电子邮件地址(仅两个字段) 我可以很容易地处理上传,如何在处理导入之前验证电子邮件地址 还有,我怎样才能快速地处理这个问题,或者作为后台处理,而不需要用户观看脚本的翻滚 使用经典的ASP/SQLServer2008使用Vbscript处理大型csv(500k记录)并将其导入SQL server的最佳方法是什么?,sql,sql-server,sql-server-2008,asp-classic,vbscript,Sql,Sql Server,Sql Server 2008,Asp Classic,Vbscript,我有一个系统,需要通过CSV上传导入大量姓名和电子邮件地址(仅两个字段) 我可以很容易地处理上传,如何在处理导入之前验证电子邮件地址 还有,我怎样才能快速地处理这个问题,或者作为后台处理,而不需要用户观看脚本的翻滚 使用经典的ASP/SQLServer2008 请不要嘲笑经典asp。您需要通过asp应用程序进行此上传吗?如果不是,那么无论您觉得最适合使用哪种脚本语言,并且能够以最少的编码时间完成这项工作,都是完成这项工作的最佳工具。如果您需要用户能够上传到经典ASP应用程序中,并有一个可靠的过程
请不要嘲笑经典asp。您需要通过asp应用程序进行此上传吗?如果不是,那么无论您觉得最适合使用哪种脚本语言,并且能够以最少的编码时间完成这项工作,都是完成这项工作的最佳工具。如果您需要用户能够上传到经典ASP应用程序中,并有一个可靠的过程将有效记录插入数据库并拒绝无效记录,则您的选项会更改 您是否需要向用户提供反馈?比如确切地告诉他们哪些行是无效的 如果第二种情况是您正在处理的,我会让asp应用程序简单地存储文件,然后让另一个进程、一个.net服务或计划任务或其他东西,在asp应用程序可以检查的文本文件中进行导入并报告其进度。这使您可以使用您熟悉的任何脚本语言来执行此操作,并且不必处理http请求超时
如果你在谷歌上搜索“regex valid email”,你可以找到各种各样的正则表达式来识别无效的电子邮件地址。在我以前的生活中,我经常使用SQL命令将文件拖到工作表中,然后使用SQL命令批处理。今天,你会使用 这允许您非常快速地将数据输入SQL Server,并防止脚本超时,然后您可以使用您喜欢的任何方法(例如,AJAX驱动的批处理、重定向驱动的批处理等)来处理数据的离散块,或者计划将其作为单个批处理(an)运行,并仅报告结果
您可能很幸运,可以通过上载脚本在一个批次中处理500K行,但我不会冒险这样做。您需要什么级别的验证?查看字符串字段并确保有.com、.net、@symbol等?可能类似于这里的函数: