【问题标题】:SQL job and stored procedureSQL作业和存储过程
【发布时间】:2009-07-22 05:32:05
【问题描述】:

我有一个存储过程,它将从接收位置选择 MQ 文件,对其进行处理并将其放入保存位置。

目前,这个存储过程在我手动执行时不起作用。

但文件会在每天的特定时间自动拾取并保存在保存位置。我不知道是哪个存储过程调用这个。

每天在这个特定时间设置一个 SQL Server 作业。这项工作正在调用我手动调用的相同存储过程。

当我尝试手动运行 SQL 作业时,文件没有被拾取。

MQ 中是否有任何机制来选择文件并将其放入接收位置?

【问题讨论】:

  • 手动运行时和自动运行时是否以同一用户身份运行?
  • 是的,它在同一个用户中运行!
  • 能贴出存储过程的代码吗?
  • 代码是否假设了当前工作目录的任何内容,还是使用绝对路径?

标签: sql sql-server-2005 stored-procedures scheduled-tasks ibm-mq


【解决方案1】:

我最初的猜测是:域访问权限。当 SQL 代理调用该过程时,它正在“运行” SQL 代理服务的帐户的权限(域访问权限)下运行。此帐户对您正在访问的文件夹具有适当的访问权限。

当您登录并调用该过程时,它正在您的访问权限下运行,您可能对这些目标文件夹没有足够的权限来执行列出的工作。

它可能比这更复杂。一旦您离开了简单的数据库操作领域并开始使用 SQL 在您的网络上搞乱,您就必须处理代理帐户和晦涩的功能的世界。它可以并且已经完成,但配置起来并不简单。很大程度上取决于您(嗯,代码)是如何实现的。

【讨论】:

  • 我刚刚注意到这个问题最初发布的日期/时间。费。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-11
  • 1970-01-01
  • 2011-11-09
  • 2013-04-01
  • 2011-07-29
  • 1970-01-01
  • 2010-11-16
相关资源
最近更新 更多