从 powershell 接收 SSIS 执行结果

Receive SSIS execution result from powershell

当我从 powershell 执行 SSIS 包时,return 数据仅包含 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 处理结果代码

我不认为你可以使用 Powershell 或其他语言和工具获取结果集,因为它是 SSIS 内部部分,你只能检索执行结果和包日志(错误、警告、信息)。

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

最后我将结果转储到 table,然后在我的 SSIS 过程完成后再次 select 结果,就像 Jacob 说的那样。

感谢您的意见。