SSIS Execute Process Task Python script

无人久伴 提交于 2019-12-18 15:48:44

问题


I'm trying to execute a python scrip from SSIS Execute Process Task. I followed all the tutorials of how to do this an still the script is failing from the start. when i execute the python script out of SSIS it runs perfectly.

This is my Python scrip:

 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")

this is an image of the SSIS Execute Process Task:

error message:

    [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".

回答1:


Did you have spaces in your file path to your python script? I had the same error when trying to pass a path with spaces as my argument in Execute Script Process. The resolution was to enter the argument with quotes.




回答2:


When the process is launched from Execute Process Task step of SSIS Package, it's not being run from the same folder as the executable file (.bat, .py, .exe and so on) located. What is different from the direct file execution. And it can be especial critical in case when your executable file working with some other files in the same folder.

So, it is necessary additionally specify working folder property of Execute Process Task step of SSIS Package.

On your screenshot Working directory property value is empty. Put there the C:\Users\bla\blalba\bla\gender-guesser-0.4.0\test\



来源:https://stackoverflow.com/questions/43873544/ssis-execute-process-task-python-script

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!