首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用EzApi创建SSIS包

使用EzApi创建SSIS包
EN

Stack Overflow用户
提问于 2011-01-12 12:14:07
回答 2查看 1.1K关注 0票数 2

我正在使用EzApi创建一个SSIS包。但是,我无法创建一个具有多个源和单一目的地的包。例如,两个OLEDB源和一个OLEDB目标。我真正想知道的是如何使用c#代码添加合并转换。请帮帮忙

EN

回答 2

Stack Overflow用户

发布于 2012-04-27 01:43:35

EzApi中,如果需要创建自定义数据流,则有一个名为EzMerge的组件??可以使用名为EzDataFlowPackage的基类。

代码语言:javascript
复制
class MyPackage: EzDataFlowPackage
{
        public EzOleDbSource src1;
        public EzOleDbSource src2;
        public EzMerge merge;
        public EzOleDbDest dest;
        public EzOleDbConnectionManager srcConnMgr1;
        public EzOleDbConnectionManager srcConnMgr2;
        public EzOleDbConnectionManager destConnMgr;


        public EzMyPackage() : base() 
        {
            srcConnMgr1 = new EzOleDbConnectionManager(this);
            srcConnMgr2 = new EzOleDbConnectionManager(this);
            src1 = new EzOleDbSource(DataFlow);
            src2 = new EzOleDbSource(DataFlow);
            dest mew EzOleDbDest(DataFlow);
            src1.Connection = srcConnMgr1;
            src2.Connection = srcConnMgr2;
            dest.Connection = destConnMgr;
            merge = new EzMerge(DataFlow);
            src1.AttachTo(merge);
            src2.AttachTo(merge);
            merge.AttachTo(dest);
        }

        public EzMyPackage(Package p) : base(p) { }

        public static implicit operator EzMyPackage(Package p) { return new EzMyPackage(p); }
}

我刚输入了这段代码--所以它可能包含错误。在这之后,您的包布局已经准备好了。您可以简单地设置组件属性。

票数 2
EN

Stack Overflow用户

发布于 2011-01-12 13:05:50

我没有使用EzApi,但是在投标(Visual )中,您需要有两个数据源,一个数据目的地和一个“合并”组件来连接它:

就像这样:

编辑

关于板条箱是按计划进行的。请查看以下链接:

http://thinkerkk.blogspot.com/2007/08/programmatically-creating-dataflow-with.html

在注释//create the Merge Transformation之后查找代码

代码语言:javascript
复制
//create the Merge Transformation
IDTSComponentMetaData90 merge = dataflow.ComponentMetaDataCollection.New();
merge.ComponentClassID = "DTSTransform.MergeJoin";
CManagedComponentWrapper mergeDesigntime = merge.Instantiate();
mergeDesigntime.ProvideComponentProperties();
merge.Name = "Merge Source1 and source2";
Console.WriteLine("merge created ");
merge.InputCollection[0].ExternalMetadataColumnCollection.IsUsed = false;
merge.InputCollection[0].HasSideEffects = false;
merge.InputCollection[1].ExternalMetadataColumnCollection.IsUsed = false;
merge.InputCollection[1].HasSideEffects = false;

//create path from source1 to merge
/*More code - see article*/

//create path from source2 to merge
/*More code - see article*/

以下链接对于以编程方式创建SSIS包也很有用:

http://msdn.microsoft.com/en-us/library/ms135946.aspx

http://blogs.msdn.com/b/mattm/archive/2008/12/30/samples-for-creating-ssis-packages-programmatically.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4668648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档