从Powershell调用SSIS包

时间:2016-04-03 20:24:47

标签: c# .net sql-server powershell ssis

我正在开发Win2K12R2,SSDT 2016和SQL Server 2014。

我有一堆要导入的数据,我正在尝试连续多次调用SSIS包,以便正确加载所有内容。我试图从PowerShell中做到这一点。

以下是我的PowerShell脚本:

add-type -AssemblyName "Microsoft.SqlServer.ManagedDTS, Version=11.0.0.0,      Culture=neutral, PublicKeyToken=89845dcd8080cc91"

$pkgname = '\SSISDB\Projects\Test.Data.Import\DataImport'
$server = "."

$dtsapp = New-Object ("Microsoft.SqlServer.Dts.Runtime.Application")
$exists = $dtsapp.ExistsOnDtsServer($pkgname,".");
$pkg = $dtsapp.LoadFromDtsServer($pkgname,$server,$null)

当我运行64位PowerShell时,我甚至无法创建Application对象。我收到以下错误:

  

New-Object:使用“0”参数调用“.ctor”的异常:“无法加载文件或程序集   'Microsoft.SqlServer.DTSRuntimeWrap,Version = 11.0.0.0,Culture = neutral,   PublicKeyToken = 89845dcd8080cc91'或其依赖项之一。系统找不到该文件   指定“。

所以我切换到运行PowerShell ISE(x86)版本。该对象现在正确创建,但当我尝试运行此代码时,我收到以下错误:

  

使用“2”参数调用“ExistsOnDtsServer”的异常:“连接到Integration Services   计算机上的服务“(null)”失败,并出现以下错误:“指定的服务没有   作为已安装的服务存在。“。

我知道这不是真的,因为我可以在服务器上看到包并让服务运行。另外,我可以使用dtexec.exe调用包。我不确定我是否需要专门针对Sql Server 2014或者什么。有什么建议吗?

0 个答案:

没有答案