我正在开发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或者什么。有什么建议吗?