SSIS パッケージの作成に EzApi を使用しています。ただし、複数のソースと単一の宛先を持つパッケージを作成できません。たとえば、2 つの OLEDB ソースと 1 つの OLEDB 宛先です。私が正確に知りたいのは、C# コードを使用してマージ変換を追加する方法です。助けてください
1103 次
2 に答える
2
EzApiEzMerge
には
、カスタム データフローを作成する必要がある場合に呼び出されるコンポーネントがあります。次の基本クラスを使用できますEzDataFlowPackage
。
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); }
}
このコードを入力したところなので、エラーが含まれている可能性があります。これで、パッケージ レイアウトの準備が整いました。また、コンポーネントのプロパティを簡単に設定できます。
于 2012-04-27T01:43:35.370 に答える
0
私は EzApi を使用していませんが、BIDS (Visual Studio) では、2 つのデータ ソース、1 つのデータ送信先、およびそれを接続するための「マージ」コンポーネントが必要です。
そのようです:
編集
クレートに関しては、計画的にです。次のリンクをご覧ください。
http://thinkerkk.blogspot.com/2007/08/programmatically-creating-dataflow-with.html
コメントの後のコードを探します//create the Merge Transformation
//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 パッケージを作成する場合にも役立ちます。
于 2011-01-12T13:05:50.827 に答える