我正在考虑将一个visual basic应用程序(它接收以竖线分隔的文件并将它们导入到microsoft sql数据库中)转换为一个php页面。其中一个文件的平均大小约为9兆字节。(我不能准确地说出所涉及的行数,但我会说大约是20000行)
其中一个优点是,对页面所做的任何更改都会自动‘部署’到目标用户(目前,当我对最初由其他人创建的visual basic应用程序进行更改时,我必须将最新版本放到所有使用它的人的PC上)。
问题是这些导入可能需要两分钟才能完成。两分钟对于网站时间来说是一个很长的时间,所以我想向用户提供反馈,以表明页面没有失败/超时,并且肯定在做一些事情。
到目前为止,我能想到的最好的想法就是使用ajax来逐步完成这项工作。假设一次导入1000条记录,然后反馈,实现下一条1000条记录,然后反馈,依此类推。
有没有更好的方法来做这类事情,而不需要我学习新的编程语言或下载应用程序或库?
发布于 2010-08-28 03:19:54
您不必进行Visual Basic ->开关。在ASP或ASP.NET应用程序中,你可以坚持使用VB语法。使用基于ASP的解决方案,您可以重用大量现有代码,这样它就不会从头开始学习一门新语言。
至于如何向用户呈现一个长时间运行的进程,您正在寻找“异步处理程序”--基本前提是用户访问一个启动进程页面(B)的网页(A)。
(A)的作用域:
(B)的作用域:
与现有VB脚本相同的
的潜在改进:
(A)和(B)都可以用PHP或ASP技术开发。
发布于 2010-08-27 10:22:13
如何将数据导入数据库?理想情况下,您应该使用SQL Server's BULK INSERT,这可能会加快速度。但这仍然是上传文件以进行解析的问题...
我认为不值得花费精力去获取插入的状态--大多数站点只会显示一个动态的gif/etc (像沙漏等)来表明系统正在处理东西,但没有真正的细节。
https://stackoverflow.com/questions/3580844
复制相似问题