【问题标题】:Python script through SSIS通过 SSIS 的 Python 脚本
【发布时间】:2019-11-14 19:50:07
【问题描述】:

这就是我在 SSIS 中从 Execute 进程执行我的 python 的方式: 我在 .bat 文件中有相同的命令,我可以从 SSIS 执行任务中执行 .bat 但如果我像上面那样放置整个命令,它就不起作用。任何帮助表示赞赏。 我得到的错误是 进程退出代码为“2”,而预期为“0”。我附上了我的 SSIS 执行过程任务的屏幕截图enter image description here

C:/Users/datadude/AppData/Local/Continuum/miniconda3/envs/ra_platform-201909/python.exe e:/Source/Scripts/Python/rapc/kozuchi/core/qc/solactive_returns_qc.py --datasource solactive

【问题讨论】:

  • 请扩展“不起作用”。您的 SSIS 日志中有什么内容?通常的问题是路径不存在或您的帐户无权访问。你是在 SQL 代理下运行这个包还是交互运行它?

标签: ssis ssis-2012 ssis-2008


【解决方案1】:

正如 Nick.McDemaid 的评论所说 - 要获得适当的帮助,您需要提供更好的诊断。尝试在 SSIS 的调试模式下作为执行容器首先运行它并显示错误输出?不过,这里只是一个答案,也许它会对其他人有所帮助。

我认为问题在于您在“参数”字段中使用引号的方式。 SSIS 对 Arguments 字段的处理有些令人惊讶。在我的测试中,当作为参数传递给执行过程任务的命令(可执行文件)时,它总是被引用(SSIS 添加的额外引号)。 当我尝试评估要作为额外参数传递给 python 脚本(即参数字段的一部分)的变量时,我遇到了类似的问题。整个 Arguments 字符串被引用并且变量没有被计算。

解决方案(解决我的问题)是使用表达式(对话框左侧的第三个选项),然后选择参数作为表达式。然后 Arguments 表达式是完全灵活的。在您的情况下,我认为您不需要引号,或者应该尝试将 Arguments 构建为表达式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 2015-09-22
    相关资源
    最近更新 更多