我工作的网站在运行Windows Server 2003和SQL Server 8(2000?),和ASP.NET 3.5。

我需要有某种形式的脚本或应用程序运行从一个FTP'd文本文件导入数据,到数据库中。已经有一个网站在机器上运行,使用当前数据库。我可以使用计划任务,从而可靠地揭开序幕某种.aspx页面中的,将导入的数据?还是有更好的方法?

关于确保没有其他人可以访问运行导入的页面是什么?我不想随机用户运行导入!

提前感谢!

P.S。某些处理需要其插入之前,对数据发生。即查找,条件等,所以数据库工具是不够强大的(我认为)。我恨DTS和SSIS我是不是在这个版本中,我认为可以。

有帮助吗?

解决方案

和DTS存储在作业程序。

BCP和作业中的存储过程。

你说你需要做的查找和转换的很多? SQL是善于发现 - 善于做快。这似乎有点在第一吓人,但它并不难。

其他提示

如果你想有一个C#应用程序处理您的进口,我建议一个Windows应用程序(EXE)W / O形式(而不是一个控制台应用程序更好,因为每当它运行时,它不会弹出任何UI)。请有计划的任务运行,每隔一段时间(每分钟)。

为什么你会使用ASP.NET?根据工作的复杂性,你可以直接加载到数据库(批量加载),或使用DTS(SQL Server 2000中)或SSIS(SQL服务器2005/2008)如果需要更复杂的处理。

运行BULK INSERT或BCP导入的数据代替,请参见此处的 http://msdn.microsoft.com/en-us/library/aa173839(SQL.80)的.aspx

在这里我要呼应别人 - 你不希望有一个计划任务打了一个网页。 SQL Server提供了一些良好的数据导入选项,或者你可以只写一个简单的Windows程序并运行它作为一种计划任务。

另一种选择是编写手表你的FTP目录并执行导入Windows服务。

正如其他人所说,可能是一个独立的控制台应用程序(由一个计划任务触发)或Windows服务将是这种情况下最好的选择。

在另一方面,如果你已经在服务器上运行的Web应用程序提供所有必需的功能,那么你很可能设置一个预定的任务,即启动脚本(VBScript,JScript中),这反过来又来电一个页面的web应用程序的

要拥有某种安全(如防止任何用户都可以调用页),你可以添加一些代码的页面,来检查,如果该页面被调用的 HTTP://本地主机。这将至少阻止该网页从远程客户端被称为

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top