Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Vbscript处理大型csv(500k记录)并将其导入SQL server的最佳方法是什么?_Sql_Sql Server_Sql Server 2008_Asp Classic_Vbscript - Fatal编程技术网

使用Vbscript处理大型csv(500k记录)并将其导入SQL server的最佳方法是什么?

使用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应用程序中,并有一个可靠的过程

我有一个系统,需要通过CSV上传导入大量姓名和电子邮件地址(仅两个字段)

我可以很容易地处理上传,如何在处理导入之前验证电子邮件地址

还有,我怎样才能快速地处理这个问题,或者作为后台处理,而不需要用户观看脚本的翻滚

使用经典的ASP/SQLServer2008


请不要嘲笑经典asp。

您需要通过asp应用程序进行此上传吗?如果不是,那么无论您觉得最适合使用哪种脚本语言,并且能够以最少的编码时间完成这项工作,都是完成这项工作的最佳工具。如果您需要用户能够上传到经典ASP应用程序中,并有一个可靠的过程将有效记录插入数据库并拒绝无效记录,则您的选项会更改

您是否需要向用户提供反馈?比如确切地告诉他们哪些行是无效的

如果第二种情况是您正在处理的,我会让asp应用程序简单地存储文件,然后让另一个进程、一个.net服务或计划任务或其他东西,在asp应用程序可以检查的文本文件中进行导入并报告其进度。这使您可以使用您熟悉的任何脚本语言来执行此操作,并且不必处理http请求超时


如果你在谷歌上搜索“regex valid email”,你可以找到各种各样的正则表达式来识别无效的电子邮件地址。

在我以前的生活中,我经常使用SQL命令将文件拖到工作表中,然后使用SQL命令批处理。今天,你会使用

这允许您非常快速地将数据输入SQL Server,并防止脚本超时,然后您可以使用您喜欢的任何方法(例如,AJAX驱动的批处理、重定向驱动的批处理等)来处理数据的离散块,或者计划将其作为单个批处理(an)运行,并仅报告结果


您可能很幸运,可以通过上载脚本在一个批次中处理500K行,但我不会冒险这样做。

您需要什么级别的验证?查看字符串字段并确保有.com、.net、@symbol等?可能类似于这里的函数: