微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 执行包含来自外部应用程序的脚本组件的SSIS 2012包

我正在编写一个应用程序,它将使用Microsoft.sqlServer.ManagedDTS v 11.0程序集执行SSIS 2012程序包.我正在尝试执行的程序包是从SSDT-2012设计并成功执行的,并且具有处理无法正确传输的行的脚本组件.

当我尝试运行我的应用程序时,我收到每个脚本组件的错误消息:

SSIS.Pipeline:要在sql Server数据工具之外运行SSIS包,必须安装Integration Services或更高版本的[脚本组件名称].

配置:使用以下app.config文件Windows上构建x86应用程序:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0"/>
        <supportedRuntime version="v2.0.50727"/>
    </startup>
</configuration>

唯一相关的代码是:

using System;
using System.Data;
using System.Data.Common;
using System.IO;
using Microsoft.sqlServer.Dts.Runtime;
class MyApp
{
    public void ExecutePackage()
    {
        //Assume I have all the variables I need like packageFile,packageName,//srcConnectionString,destConnectionString and eventListener etc.

        Package pkg;
        Application app;
        DTSExecResults pkgResults;

        app = new Application();
        pkg = app.LoadPackage(packageFile,eventListener);

        pkg.Variables["SrcConnectionString"].Value = srcConnectionString;
        pkg.Variables["DestConnectionString"].Value = destConnectionString;

        if (null != srcAssembly || null != destAssembly)
        {
            foreach (ConnectionManager connection in pkg.Connections)
            {
                if (null != srcAssembly && connection.Name.Contains("Source"))
                {
                    connection.SetQualifier(srcAssembly);
                }
                else if (null != destAssembly && connection.Name.Contains("Destination"))
                {
                    connection.SetQualifier(destAssembly);
                }
            }
        }

        pkgResults = pkg.Execute(null,null,eventListener,null);
    } 
}

有任何想法吗?

解决方法

您没有在运行应用程序的计算机上安装sql Server Integration Services服务.

另见https://dba.stackexchange.com/questions/49786/error-to-run-a-ssis-package-outside-of-sql-server-data-tools-you-must-install

原文地址:https://www.jb51.cc/csharp/99413.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐