簡體   English   中英

SSIS執行進程任務Python腳本

[英]SSIS Execute Process Task Python script

我正在嘗試從SSIS執行進程任務執行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執行流程任務的圖像:

這是SSIS執行過程任務的圖像

錯誤信息:

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

你的python腳本的文件路徑中是否有空格? 嘗試在Execute Script Process中傳遞帶空格的路徑作為我的參數時,我遇到了同樣的錯誤。 決議是用引號輸入參數。

當從SSIS包的“ Execute Process Task步驟啟動Execute Process Task ,它不會從與可執行文件( .bat.py.exe等)相同的文件夾運行。 與直接文件執行有什么不同。 當您的可執行文件與同一文件夾中的某些其他文件一起使用時,它可能特別重要。

因此,還需要另外指定SSIS包的Execute Process Task步驟的工作文件夾屬性。

在屏幕截圖上, 工作目錄屬性值為空。 放在C:\\Users\\bla\\blalba\\bla\\gender-guesser-0.4.0\\test\\

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM