我正在尝试在 Powershell 2.0 中将 SQL Server SSIS 包作为后台作业运行,但似乎没有加载必要的程序集。
我可以毫无问题地加载 DTS 程序集并在 Powershell 中成功运行包。
>[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.ManagedDTS")
GAC Version Location
--- ------- --------
True v2.0.50727 C:\WINDOWS\assembly\GAC_MSIL\Microsoft.SqlServer.ManagedDTS\9.0.242.0__89845dcd8080cc91\Microsoft.SqlServer.ManagedDTS.dll
但是,当我在后台作业中尝试此操作时,它永远不会完成,并且作业只是继续处于运行状态。
$job=Start-Job -ScriptBlock {[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.ManagedDTS")}
Wait-Job $job
Receive-Job $job
正常的 Powershell 运行空间和后台作业运行的空间有什么区别?
>$PSVersionTable
Name Value
---- -----
CLRVersion 2.0.50727.3625
BuildVersion 6.0.6002.18111
PSVersion 2.0
WSManStackVersion 2.0
PSCompatibleVersions {1.0, 2.0}
SerializationVersion 1.1.0.1
PSRemotingProtocolVersion 2.1