Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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
有没有一种好方法可以为ASP.NET站点创建定期导入?_Asp.net_Sql Server_Iis_Scheduled Tasks_Recurring - Fatal编程技术网

有没有一种好方法可以为ASP.NET站点创建定期导入?

有没有一种好方法可以为ASP.NET站点创建定期导入?,asp.net,sql-server,iis,scheduled-tasks,recurring,Asp.net,Sql Server,Iis,Scheduled Tasks,Recurring,我正在工作的站点正在运行Windows Server 2003和SQL Server 8(2000?)以及ASP.NET 3.5 我需要运行某种脚本或应用程序将数据从FTP文本文件导入数据库。计算机上已运行一个使用当前数据库的站点。我可以使用计划任务可靠地启动某种.aspx页面来导入数据吗?还是有更好的方法 如何确保没有其他人可以访问运行导入的页面?我不希望随机用户运行导入 提前谢谢 另外,在插入数据之前,需要对数据进行一些处理。i、 查找、条件等,因此DB工具不够健壮(我认为)。我讨厌DTS,

我正在工作的站点正在运行Windows Server 2003和SQL Server 8(2000?)以及ASP.NET 3.5

我需要运行某种脚本或应用程序将数据从FTP文本文件导入数据库。计算机上已运行一个使用当前数据库的站点。我可以使用计划任务可靠地启动某种.aspx页面来导入数据吗?还是有更好的方法

如何确保没有其他人可以访问运行导入的页面?我不希望随机用户运行导入

提前谢谢


另外,在插入数据之前,需要对数据进行一些处理。i、 查找、条件等,因此DB工具不够健壮(我认为)。我讨厌DTS,我想这个版本中没有ISIS。

为什么要使用ASP.NET?根据作业的复杂性,如果需要更复杂的处理,您可以直接将其加载到数据库(大容量加载)或使用DTS(SQL Server 2000)或SSIS(SQL Server 2005/2008)。

运行大容量插入或bcp来导入数据,请参见此处

如果您想让C#应用程序处理您的导入,我建议使用不带表单的windows应用程序(exe)(比控制台应用程序更好,因为它在运行时不会弹出任何UI)。通过计划任务每隔一段时间(每分钟)运行一次

我会在这里回应其他人-你不想让预定的任务出现在网页上。SQL Server提供了一些很好的数据导入选项,或者您可以编写一个简单的windows程序,并将其作为计划任务运行


另一个选择是编写一个windows服务来监视FTP目录并进行导入

正如其他人所说,可能单独的控制台应用程序(由计划任务触发)或windows服务将是此场景的最佳选择

另一方面,如果您已经在服务器上运行的web应用中拥有了所有必需的功能,那么您可能可以设置一个计划任务,该任务启动一个脚本(VBscript,JScript),该脚本反过来调用web应用的一个页面


为了具有某种安全性(例如,防止任何用户都可以调用该页面),您可以向该页面添加一些代码,以检查该页面是否被调用。这至少可以防止从远程客户端调用页面。

作业中的DTS和存储过程

作业中的BCP和存储过程


你说你需要做大量的查找和转换?SQL在这方面做得很好,而且做得很快。一开始看起来有点吓人,但并不难

控制台应用程序将很乐意按计划任务运行,而不会弹出任何UI(或有一个登录用户)。我讨厌DTS,而且它会让我需要它做的事情变得复杂。SSIS不可用(原因是我提供了版本信息)。我需要运行脚本/应用程序,因为需要对数据进行一些处理。需要事先对数据进行一些处理。可能。。。但我更喜欢用C#,因为我更擅长它。需要进行大量的查找/转换和其他事情,我对T-SQL不是很在行。我只想说一句——一点SQL可以节省大量的代码。