【问题标题】:Execute SSIS packges from C# without integration services installed在未安装集成服务的情况下从 C# 执行 SSIS 包
【发布时间】:2017-10-21 07:48:22
【问题描述】:

我在安装了集成服务的 PC 上开发了 SSIS 包。 然后我想开发一个 C# winforms 应用程序在客户端 PC 上执行这些包。但是客户端 PC 安装了没有集成服务的 SQL Server。 所以我创建了一个 C# 应用程序并将包添加到其中,并添加了对 Microsoft.SQLServe.ManagedDTS 的引用然后执行了包,结果是一些简单的包成功执行但复杂的包没有执行并给出错误

“脚本组件,clsid {33D831DE-5DCF-48F0-B431-4D327B9E785D}”的组件元数据无法升级到该组件的较新版本。 PerformUpgrade 方法失败。 组件丢失、未注册、不可升级或缺少必需的接口。该组件的联系信息是“包含并运行自定义脚本代码。例如,应用业务规则限制“收入”列中的有效值范围或将两列中的值相加并计算总和的平均值。 Microsoft Corporation;Microsoft SQL Server;Microsoft Corporation;保留所有权利;http://www.microsoft.com/sql/support;10"。 脚本组件验证失败,返回错误码0xC0048021。

当我在网上搜索时,我发现大多数解决方案都是关于是否正确安装了集成服务。

我的 C# 代码 winform 代码

private void button1_Click(object sender, EventArgs e)
    {
        Package prepartion;
        Package storeLoad;
        Microsoft.SqlServer.Dts.Runtime.Application app;
        DTSExecResult pkgResults;
        Project project = Project.OpenProject(System.Windows.Forms.Application.StartupPath + @"\SSISLoad.ispac");

        project.Parameters["Con1"].Value = sqlServerTextBox.Text;
        project.Parameters["Con2"].Value = "Dsn=mysqlconn";

        prepartion = project.PackageItems["Preperation.dtsx"].Package;
        storeLoad = project.PackageItems["StoreLoad.dtsx"].Package; 

        pkgResults = prepartion.Execute();

        output.Text = pkgResults.ToString();

        pkgResults = storeLoad.Execute();

        output.Text += "\r\n" + pkgResults.ToString();

        foreach (var x in prepartion.Errors)
        {
            output.Text += "\r\n" + x.Description;
        }

        foreach (var x in storeLoad.Errors)
        {
            output.Text += "\r\n" + x.Description;
        }
    }

问题是因为集成服务没有安装在运行我的应用程序的客户端 PC 上还是其他什么地方?

有没有办法在客户端 PC 上不安装集成服务的情况下完成这项工作。

提前致谢

【问题讨论】:

标签: c# .net sql-server ssis


【解决方案1】:

没有集成服务不是导致此错误的原因。似乎当您的包正在加载时,某些东西正试图将它们升级到您使用的任何 sql server 版本。我以前在升级到更新版本的 SSIS 甚至有时是 SQL Server 时看到过这种情况。

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 2012-07-05
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    相关资源
    最近更新 更多