【发布时间】:2016-12-22 04:31:58
【问题描述】:
我在VS2015中开发了一个简单的SSIS包。与其将它部署到 SQL Server 以进行调度,我现在将拥有一个桌面应用程序来手动启动这项工作。
如果我转到本地计算机上的位置并双击 Package.dtsx 文件,它会打开一个执行包实用程序。如果我点击执行,它会完美地运行包并且所有步骤都成功。
当我创建一个桌面应用程序并像这样从他们那里执行它时(这是关于如何手动部署本地 SSIS 包的 Microsoft 代码):
string pkgLocation;
Package pkg;
Microsoft.SqlServer.Dts.Runtime.Application app;
DTSExecResult pkgResults;
pkgLocation = @"C:\SSIS\TestSSIS\Package.dtsx";
app = new Microsoft.SqlServer.Dts.Runtime.Application();
pkg = app.LoadPackage(pkgLocation, null);
pkgResults = pkg.Execute();
if (pkgResults.ToString() != "Success")
{
if (pkg.Errors.Count > 0)
{
string errors = "";
int errorID = 0;
foreach (DtsError error in pkg.Errors)
{
errors = errors + error.Description.ToString();
errorID++;
}
MessageBox.Show(errors + "Total Error Count:" + errorID.ToString() );
}
我收到一些错误消息: 对于流程中的每个步骤,我都会收到此错误:
要在 SQL Server Data Tools 之外运行 SSIS 包,您必须安装 Integration Services 或更高版本的 [步骤名称]。
那个特定的错误没有任何意义。我已经看到说明这是一个错误是错误的 MS Bug,但到目前为止没有任何解决方案适用于我的情况。有什么想法可以解决这个问题吗?
【问题讨论】:
-
您在运行应用程序的机器上是否安装了 SSIS。此错误是来自 MS Error List 的 DTS_E_SSISSTANDALONENOTINSTALLED。另一种可能的情况 - 您引用的程序集版本在测试站不可用。
-
另一个similar discussion on SO。作者以重新安装 SSIS 结束。