んでSSISの中に搭載されているのがVSA(Visual Studio for Applications)
完全な.NETベースであるVB8世代言語を搭載しています。回りくどい書き方なのはMyがないってことと、スクリプトであるということ(ここでいうスクリプトってのは実行時までコンパイルが遅延するというだけのこと)。VS本体にも入ってますよね。
完全な.NET環境ということはアセンブリの参照も可能です。
SQL/CLRとちがってセキュリティレベルとかはないんですが、署名とGAC必須です。
また参照設定画面では.NETフォルダとSQLフォルダしか参照しません。
VSでもそうですが、なぜ参照画面の.NETタブはGACじゃないんでしょうね。
それで直接参照することができないOfficeなどのPIAなどは間にインターフェイス(一般用語)をつくってやる必要があります。
まぁExcel操作なんてスクリプトな世界でやるもんじゃないので、問題ないかもしれませんがSQL管理者にアセンブリをつくれってのは酷で、ただ参照できれば済む話なんですけどね
SSISからアセンブリを参照するための手順
- プロパティページで適当に署名する
- ビルド後イベントに以下のように書く
%programfiles%\microsoft visual studio 8\SDK\v2.0\bin\gacutil /i $(TargetPath)
copy $(TargetPath) %windir%\microsoft.net\framework\v2.0.50727\
簡単でしょ?