我创建了一个名为'User'的SSIS数据流(Designer模式)的包,从表'User'到ADO.NET Destination表'UserDest'的ADO.NET源(列:id,名称)。表列是相同的。然后我必须重新创建与其他100个剩余表格相同的Dataflow结构(通过创建优先级约束,因为导入必须每次执行一个表)。 我的想法是通过C#编辑包,克隆“用户”数据流的结构,调整列映射和ADO.NET表源和目标。
我已经开始创建一个Package变量来开始克隆属性,但InnerObject返回null:
using System;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
namespace ConsoleApplication1
{
public class Gerador
{
public string RunPackage2()
{
var pkgLocation = @"C:\Users\me\Documents\Visual Studio 2015\Projects\SSISExample1\SSISExample1\Package.dtsx";
Application app = new Application();
Package pkg = app.LoadPackage(pkgLocation, null);
var importUsersHost = pkg.Executables[0] as TaskHost;
var pipe = importUsersHost.InnerObject as MainPipe; // Here it returns null
Console.WriteLine();
return "OK";
}
}
}
在简历中,我需要生成100个其他数据流,如“用户”数据流,并逐个添加连接器(因为每个数据流必须逐个运行)。