【问题标题】:How can I run .py script in SSIS without converting to either .bat or .exe如何在 SSIS 中运行 .py 脚本而不转换为 .bat 或 .exe
【发布时间】:2021-01-07 23:54:04
【问题描述】:

我需要从 SSIS 中运行一个 .py python 脚本。但是我不想将我的 .py 文件转换为 .bat 或 .exe,因为我的脚本使用了多进程模块并且当我将它转换为.bat 或 .exe 并通过 SSIS 包运行它,它会生成几十个进程,当我通过网络搜索时,这可能是因为多处理....因此我不想将我的文件转换为这些可执行文件并想要直接从 SSIS 中运行我的 .py 文件。

SSIS 执行任务配置如下:

但我收到此错误:

[执行进程任务]错误:执行中 "C:\Users\AppData\Local\Continuum\anaconda3\pythonw.exe" ""D:\SLA\SLA_Report\temp.py"" at "D:\SLA\SLA_Report", 进程退出 代码为“1”,而预期为“0”。

代码已在 Spyder 中成功执行,因此代码中没有错误。

此外,当我搜索堆栈溢出和this post 时,我已经指定了执行进程任务的“工作文件夹属性”,并且我的目录中没有空间。

因此,我们将不胜感激。

编辑:

包的实际输出如下:

SSIS的账号如下:

【问题讨论】:

  • D 是实际驱动器、映射网络驱动器还是替代驱动器?当 SSIS 包运行时,什么帐户在运行 SSIS 包?
  • 另外,将标准输出/错误捕获到变量中,然后您可以看到任务发出的内容(如果它在输出窗口中不可用)
  • MsDtsServer140 虚拟用户用于许可内容。当你运行包时——你是怎么做的?双击?创建 SQL 代理作业?只需命令行dtexec Package5.dtsx?
  • 当您单击播放图标时,您将在 Visual Studio Data Tools 中运行该包,这意味着您以您的身份登录。这意味着您访问 C:\Users\mpy\AppData\Local\Continuum\anaconda3\pythonw.exe 不应该存在权限问题,如果这是在服务器上,可能会带来挑战
  • 从 pythonw 更改为 python。有没有可能情况完全不同?

标签: python ssis


【解决方案1】:

在“参数”部分中,只需再次提及“temp.py”python 脚本文件名而不是整个路径

【讨论】:

    猜你喜欢
    • 2017-07-29
    • 1970-01-01
    • 2021-08-12
    • 2021-08-19
    • 2021-06-12
    • 1970-01-01
    • 2013-08-21
    • 2018-05-05
    • 1970-01-01
    相关资源
    最近更新 更多