SSISカスタムログプロバイダー(SQL Server 2012 / Visual Studio 2010 / .Net Framerowk 4)を作成しましたが、WCFサービスを呼び出す必要があります。これは設定ファイルのないカスタムライブラリプロジェクトであるため、その方法がわかりません。
アイデア?ありがとう!
これは、SSIS で行うにはトリッキーなことです。C# から WCF サービスを呼び出し、そのアプリを使用してデータを入力し、SSIS から取得できるテーブルをステージングすることをお勧めします。
そうは言っても...ここでWCFサービスにアクセスしたい場合は、基本的な手順です。
WCF エンドポイントの構成設定。WCF サービスへのエンドポイントは、dtsexec.exe.config および次のフォルダーにある DtsDebugHost.exe.config ファイルに配置する必要があります: C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn 64 ビット SQL Server も実行している場合は、Program Files フォルダーで同じことを行うのが賢明です。
これで、SSISScript を作成し、[参照] を右クリックして [サービスの追加] をクリックしてサービス参照を追加できます。
独自の「内部」プロキシとコントラクトを DLL に準拠させている場合は、GAC に登録するだけでなく、上記の dtsexec.exe と同じ場所にそれらをコピーする必要があります。
覚えておいてください...これは、SSISパッケージが実行される場所で行う必要があるため、通常はSSISのローカルインスタンスと運用SQLサーバーです。
現在...これに代わる方法は、SSISスクリプトのコードですべてのWCFエンドポイント設定を「ブルートフォース」コードにすることです。私はこれにうんざりしていませんが、それが機能する場合、それらのあいまいな場所と構成ファイルにエンドポイントが必要なくなります. それはよりクリーンでより良いルートになるでしょう。次に、WCF エンドポイントとその他の設定を変数として保存し、それらを SSIS スクリプトに読み取り専用値として渡すことができます。
幸運を!