SSIS执行进程任务Python scrip

2024-05-26 16:29:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从SSIS execute Process任务执行python脚本。我遵循了所有的教程,如何做到这一点,但脚本从一开始就失败了。当我在SSIS中执行python脚本时,它运行得很好。

这是我的Python脚本:

 import sys
import gender_guesser.detector as gender
import xml.etree.cElementTree as ET
from xml.etree.ElementTree import ParseError
try:
    input("Press Enter to continue...")
except SyntaxError:
    pass
tree = ET.parse('user.xml')

root = tree.getroot()

for child_of_root in root:
    for  attr in child_of_root:
        if attr.tag == 'first_name':
         upperName = "%s%s" % (attr.text[0].upper(), attr.text[1:])
         print attr.tag,upperName
         d = gender.Detector()
         gen = d.get_gender(upperName)
         print gen
    attr.text= gen

tree = ET.ElementTree(root)
tree.write("user1.xml")

这是SSIS执行进程任务的映像:

this is an image of the SSIS Execute Process Task

错误消息:

    [Execute Process Task] Error:
 In Executing "C:\Python27\python.exe" "C:\Users\bla\blalba\bla\gender-guesser-0.4.0\test\genderTest.py " at "", The process exit code was "1" while the expected was "0".

Tags: textimport脚本treeasrootxmlgender
2条回答

当进程从s s is包的Execute Process Task步骤启动时,它不会从位于的可执行文件(.bat.py.exe等)所在的文件夹运行。 与直接执行文件有什么不同。 而且当你的可执行文件与同一文件夹中的其他文件一起工作时,它可能特别重要。

因此,还需要指定SSIS包的Execute Process Task步骤的工作文件夹属性。

在屏幕截图中,工作目录属性值为空。放在那里 C:\Users\bla\blalba\bla\gender-guesser-0.4.0\test\

在python脚本的文件路径中是否有空格?在Execute Script进程中,当试图传递一个以空格作为参数的路径时,我遇到了同样的错误。决议是用引号把论点引进去。

相关问题 更多 >

    热门问题