从powershell接收SSIS执行结果

时间:2019-07-09 09:57:44

标签: powershell ssis resultset execute

当我从Powershell执行SSIS包时,返回数据仅包含SSIS处理结果而不是实际结果

我正在尝试从SSIS流程中获取结果集,执行完毕后, 我正在使用PS的package.execute

从powershell执行这些软件包
#connecting to sql server
$sqlConnStr = "Data Source=" + $targetServer + ";Initial Catalog=master;Integrated Security=SSPI;"
$sqlConn = New-Object System.Data.SqlClient.SqlConnection $sqlConnStr

#create new SSIS object
$ssisService = New-Object $ssisNameSpace".IntegrationServices" $sqlConn
#select SSIS catalog
$cat = $ssisService.Catalogs["SSISDB"]
#select SSIS folder
$folder = $cat.Folders[$targetFolder]
#select target project
$project = $folder.Projects[$projectName]
#select target package
$targetPackage = $project.Packages[$package.PackageName]

#execute package and get the result
$actualVal = $targetPackage.Execute("false", $null)

期望值: SSIS过程中的数据集

实际值: 仅SSIS处理结果代码

2 个答案:

答案 0 :(得分:0)

我认为您无法使用Powershell或其他语言和工具来获得结果集,因为它是SSIS的内部部分,您只能检索执行结果和程序包日志(错误,警告,信息)。

作为解决方法,您可以将结果集导出到平面文件中,然后使用Powershell读取

答案 1 :(得分:0)

最后,我将结果转储到表中,然后在完成SSIS过程之后再次选择结果,就像Jacob所说的那样。

感谢您的输入。