【问题标题】:Issue starting SSIS package with parameters使用参数启动 SSIS 包
【发布时间】:2013-12-24 14:46:58
【问题描述】:

我已经阅读了很多与使用 dtexecsp_start_job 调用 ssis 包相关的主题,但无法启动我的特定包。

包:邮件正文中带有 1 个参数的邮件任务,带有 Windows 身份验证的 SMTP 连接。 1 参数。 从 Designer 启动 - 好的。

部署到服务器,使用最近的软件包步骤创建作业,使用代理和我的登录名。 使用 gui 启动作业(我可以在其中更改参数) - 好的。

使用 dtexec 形式 cmd:dtexec /is %package.dtsx /X86 /ser %servername /par "$Project::ProjectParameter(Int32)";

启动 - 失败 启动历史显示邮件任务中的错误:客户端未通过身份验证。

问题:如何使用dtexec正确运行或如何使用sp_start_job带参数(不为job创建param_table)

【问题讨论】:

  • 这听起来像是一个权限问题(例如运行 dtexec 的帐户未通过为您的 SMTP 连接配置的 Windows 身份验证)。你是从本地机器上运行 dtexec 吗?如果您对邮件正文进行硬编码并运行 dtexec(不传递参数),您会得到相同的错误吗?如果是这样,那将排除参数导致问题。
  • @gannaway 从本地运行。与无参数相同。我认为只有一个问题需要解决:启动包的代理。因为这个包的作业(唯一的区别,它有代理凭证)运行正常。

标签: sql-server ssis


【解决方案1】:

从未尝试将参数传递给 SP_START_JOB,最佳做法是创建一个配置文件,您可以在其中添加变量和值,然后将其附加到作业,然后运行以下语句

exec msdb.dbo.sp_start_job '工作名称'

或者如果你仍然想要命令行语句试试这个,进入 JOB 中的步骤,然后“设置值”选项卡添加变量及其值,然后转到“命令行”选项卡,它会显示你的脚本你可以用来在命令行中运行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 2019-01-10
    • 2016-06-27
    • 1970-01-01
    • 2012-09-19
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多