【问题标题】:I can't use the task scheduling, alternatives?我不能使用任务调度,替代方案?
【发布时间】:2010-10-06 11:33:12
【问题描述】:

我的 IT 办公室明确告诉我,由于我的 SQLServer 数据库位于共享 SQL Server 中,它们无法通过服务器调度任务服务运行任何可执行文件。可执行文件将每天查询我的数据库,更新其中的数据并发送电子邮件。首先,这是真的吗?其次,例如,我是否有使用 .net 计时器类的替代方法?我会很感激你的建议。非常感谢。

更新: 这是我用来发送电子邮件的代码。如果我将它放在我网站的页面中,它就可以工作。如果我在可执行文件中运行它,我会收到一个错误“发送电子邮件失败”,我认为这是因为他们不让我这样做?

Dim message As MailMessage = New MailMessage()
    message.From = New MailAddress("me@myemail.com")
    message.To.Add(New MailAddress("you@myemail.com"))
    message.Subject = "My subject"
    message.Body = "My content"
    Dim smtp As SmtpClient = New SmtpClient("myserver")
    smtp.Send(message)

【问题讨论】:

  • 如果您的 IT 部门正在对 SQL 服务器进行这种保留,则很可能您的系统正在运行公司的防病毒软件,该软件故意阻止端口 25 用于出站邮件。这在 McAfee 和 Norton 中都很常见。

标签: .net scheduled-tasks


【解决方案1】:

为什么你认为你需要在数据库服务器上运行这些东西。您的数据库肯定可以通过网络使用,是吗?

如果是这样,为什么不设置您自己的服务器盒来运行查询和更新。

如果您说他们不允许您在任何地方运行将访问数据库的计划任务,那么任何其他自动化解决方案都会遇到同样的问题。


根据您的更新,您可能不允许从另一个盒子连接到 SMTP 服务器(假设您的 myserver 值首先是正确的)。您要么必须说服该邮箱的管理员允许您访问邮件服务器,要么找到另一个 SMTP 服务器来发送邮件。

在企业环境中,这可能比听起来容易。应该至少有一个 Kosher SMTP 服务器在附近浮动,您只需要找到它。或者,您可能必须在自己的服务器上安装一个邮件客户端并使用它来发送邮件。

【讨论】:

  • 感谢您的留言。实际上,当我在计算机中运行可执行文件时,数据库会更新。这是我收到错误时的电子邮件位(请参阅上面的更新)。再次感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多