我正在尝试从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")
Run Code Online (Sandbox Code Playgroud)
这是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 …Run Code Online (Sandbox Code Playgroud) 我想计算NULL一行中的值的数量.
例如:
Name Col1 Col2 Col3 Col4 | ansCol
abc null a@c.com null null | 3
bbc null null null null | 4
Run Code Online (Sandbox Code Playgroud)
在这个例子中,答案很简单:
SELECT *,
(CASE WHEN Name IS NULL THEN 1 ELSE 0 END +
CASE WHEN Col1 IS NULL THEN 1 ELSE 0 END +
CASE WHEN Col2 IS NULL THEN 1 ELSE 0 END +
CASE WHEN Col3 IS NULL THEN 1 ELSE 0 END +
CASE WHEN Col4 IS NULL THEN 1 ELSE …Run Code Online (Sandbox Code Playgroud)