【问题标题】:SSIS Package Not Working if trying to deploy programatically如果尝试以编程方式部署,SSIS 包不起作用
【发布时间】: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 ListDTS_E_SSISSTANDALONENOTINSTALLED。另一种可能的情况 - 您引用的程序集版本在测试站不可用。
  • 另一个similar discussion on SO。作者以重新安装 SSIS 结束。

标签: visual-studio-2015 ssis


【解决方案1】:

我发现了问题。在这里发帖以防它帮助别人。事实证明,错误本身可以具有多种含义。就我而言

ASSEMBLY: Microsoft.SqlServer.Dts.Runtime 

它有 2 个版本,一个 12.0 和一个 13.0。我无意中没有添加正确的程序集版本,因此应用程序似乎没有安装 SSIS。

感谢@Ferdipux 指出程序集可能导致此问题并研究 MSErrorList。

【讨论】:

    猜你喜欢
    • 2019-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多