質問
同じデータベース内のテーブルAからテーブルBへの単純なデータフローを含むSSISパッケージをプログラムで作成しようとしています。 こちらの例を使用しています。 パッケージが作成されてdtsxファイルに保存されますが、Visual Studioで開くと、ソーステーブルと宛先テーブルが選択されていないことがわかります。
また、宛先に到達する前に、間に変換タスクを挿入したい。
編集
さて、ソーステーブルと宛先テーブルを選択することができ、タスクは正常に実行されました。
(a)発信元と宛先にそれぞれ1つのoleDB接続を使用します[この方法は好きではありません。 1つの接続のみを使用したい]
(b)宛先のAccessmodeを3に設定します。 SetComponentProperty(" AccessMode&quot ;, 3) これは、テーブルまたはビュー-高速ロードに相当します。
これに関するドキュメントはどこかにあります。私が見つけることができるのは、 SetComponentProperty が何をするかであり、それを行うために必要なすべてのパラメーターではありません。例えば。 " AccessMode"以外に何を置くことができますか?、2番目のパラメーター3または2または1は何を表しますか?
まだモニカーをマップしようとしています。 STOCK:PipelineTaskはDataFlowタスクを意味します。たとえば、列をコピーするためのモニカは何ですか?
解決
はい、これはSSISに対する不満の1つです。新しい用語の簡単な表またはマップを提供していないということです。
小さなコードを使用して、使用可能なコンポーネントを検出できます。
コードは次の場所にあります。 http://msdn.microsoft.com/en-us/library/ms136106。 aspx
実行すると、コピー列のモニカーは次のようになりました。 名前:列のコピー CreationName:DTSTransform.CopyMap.1
他のヒント
SQL Server 2005 Integration Services 、Wroxブック。 SSISパッケージをプログラムで操作するための章が1〜2章あると確信しています。あなたは地元の本屋をチェックアウトし、それをめくって、あなたが望むものを持っているかもしれません。
申し訳ありませんが、本の参照以外に具体的なことはお伝えできません。幸運を祈ります。
DTS .netアセンブリを使用したくない場合は、プログラムでSSISパッケージを作成するためのより単純な構文を提供するEzApiを使用できます。
EzAPIは、プログラミング言語でSSISパッケージXMLを直接作成するために必要な面倒な低レベルコーディングの多くを抽象化するために、SSISチームのテスターの1人であるEvgeny KoblovによってC#で記述された.NETライブラリです
EzApiは、Microsoft製品チームが作成したSSISコミュニティサンプルプロジェクトの一部として最初に公開されました。
その後、SQL Server 2016のサポートを追加する別のプロジェクトとして公開されます:
EzApiを使い始めるには、インターネット上で参照できるリンクが多数あります。