当我从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处理结果代码
答案 0 :(得分:0)
我认为您无法使用Powershell或其他语言和工具来获得结果集,因为它是SSIS的内部部分,您只能检索执行结果和程序包日志(错误,警告,信息)。
作为解决方法,您可以将结果集导出到平面文件中,然后使用Powershell读取
答案 1 :(得分:0)
最后,我将结果转储到表中,然后在完成SSIS过程之后再次选择结果,就像Jacob所说的那样。
感谢您的输入。