2011-07-13 9 views
5

HTTP経由でファイルをダウンロードするための標準コントロールフロータスクはSSISにありません。いくつかの回避策(Execute Process wget,)を試しましたが、この作業を実行する最も堅牢で再利用可能な方法は、カスタムコンポーネントを作成することだという結論に達しました。SSISコンポーネントをコンパイルできません。 Visual Studio 2008でアセンブリが見つからない

私はRay Gorski's guideに従ってこれを試みましたが、私の開発環境で問題が発生しました。

問題はVisual Studio 2008がMicrosoft.SqlServer.Dts名前空間を認識しないことです。 "型または名前空間の名前 'Dts'が名前空間 'Microsoft.SqlServer'に存在しません(アセンブリ参照がありませんか?)というエラーメッセージが表示されます。

にはC:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\にあるアセンブリManagedDTS.dllを追加して参照を追加できますが、このディレクトリは私のシステムに存在しません。 SQL Server 2005ではなく、SQL Server 2008を使用しているためです。

この問題を解決するにはどうすればよいですか?

レイ・ゴルスキーのガイドのサンプルを元にしたコードです。私の仕事を実際に達成するためのコードはありません。空のスタブはコンパイルされません。 64-bitオペレーティングシステム上で

enter image description here

+0

ありがとうございました。Siva。今は 'HTTPClientConnection'を使うのはうまくいきません。なぜなら私が設計している2つのパッケージは1つのファイルからすべてのデータをダウンロードするからです。しかし、いくつかのパッケージでは、すべてのデータを抽出するために複数のHTTPリクエストを行う必要があるので、このタスクに 'WebClient'を使うことを検討します。 –

答えて

7

、あなたは以下のパスにファイルMicrosoft.SQLServer.ManagedDTS.dllを見つけることができます:私はそれをコンパイルしようとすると、ここで

using System; 
using Microsoft.SqlServer.Dts.Runtime; 
using Microsoft.SqlServer.Dts.Runtime.Design; 

namespace HTTPControlTask 
{ 
    [DtsTask(
     Description = "HTTP", 
     DisplayName = "HTTP", 
     TaskContact = "Iain Elder", 
     TaskType = "SSIS Help Task", 
     RequiredProductLevel = DTSProductLevel.None)] 
    public class HTTPControlTask : Task, IDTSComponentPersist 
    { 
    } 
} 

は、私が見たエラーのスクリーンショットです

C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies

32-bitオペレーティングシステムでは、次のパスにファイルMicrosoft.SQLServer.ManagedDTS.dllを見つけることができます。

C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies

のMicrosoft SQL Serverの下のフォルダはSQL Server 2005を表します。

Microsoft SQL Serverのというフォルダは、SQL Server 2008を表します。

+0

ありがとう、Siva。私は64ビット版のオペレーティングシステムとSQL Server 2008の64ビット版を実行しています。 –

+2

これは長時間閉鎖されていますが、それらのパスを参照してライブラリがない場合は、SQL Serverのインストールディスクを起動してくださいSDKをインストールします。私たちは今日それに遭遇しました。 – Mark

+1

インストール用のディスクを使ってクライアントツールSDKを再インストールすると私にとってうまくいった。 –

3

SQL2012

DLLファイルのため、以前の回答でほんの少しの更新は、今、あなたは.Net3.5でプロジェクトをビルドする場合でも、参照を追加した後、同じエラーになります110

でありますまたは古いプロファイル。

(SQL2012用).Net4.0以降を使用する必要があります。それ以外の場合は、Visual Studioに同じエラーが表示されます。

1

SS2012のインストール後、スクリプトはss2008r2で開発されたssisパッケージに記述されているエラーがあります。いくつかの試行を解決しようとした後、私はss2008r2 sdkをインストールし、すべてのスクリプトを開いて閉じて、すべてが今は大丈夫です。

ありがとうございます。

+0

私のために働きました。どうもありがとう。 –

関連する問題