2

最近、プロジェクトを .net 3.5 から .net 4 にアップグレードし、新しい SQL サーバー 2008 R2 に接続する必要があります。アップグレードしてコンパイルすると、次の 2 つのエラーがスローされます。

相互運用型 'Microsoft.SqlServer.Dts.Runtime.Wrapper.ApplicationClass' を埋め込むことはできません。代わりに適切なインターフェースを使用してください。

タイプ 'Microsoft.SqlServer.Dts.Runtime.Wrapper.ApplicationClass' にはコンストラクターが定義されていません

このエラーをスローするコードは ApplicationClass にあります: IDTSApplication90 app = new ApplicationClass();

bin フォルダーにこの dll があります: Microsoft.SqlServer.DTSRuntimeWrap.dll この dll のバージョンは 9.0.242.0 です

.NET 4 は気に入らないと思います。そこで、DBA にサーバーでこのファイルを検索してバージョン 10 を探すように依頼しました。DBA は、このファイルは SQL サーバーに存在しないと言いました。

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

4

2 に答える 2

1

MSDNによると:

Microsoft.SqlServer.Dts.Runtime.Wrapper 名前空間は、ランタイムで制御フロー コンポーネントを作成するために使用されるクラスとインターフェイスを提供します。このアセンブリは、名前空間 Microsoft.SqlServer.Dts.Runtime の Primary Interop Assembly (PIA) であり、アセンブリ Microsoft.SqlServer.ManagedDTS (microsoft.sqlserver.manageddts.dll 内) です。この名前空間のクラスはインスタンス化しないでください。代わりに、 Microsoft.SqlServer.Dts.Runtime にあるクラスを使用してください。

Microsoft.SqlServer.Dts.Runtime名前空間のクラスを使用するようにコードを書き直す必要があると思います。この名前空間からのアプリケーションはインスタンス化できます - 私はそれを使用しました。ここで見つけることができるパッケージをロードして実行する例。

于 2012-08-29T16:43:50.243 に答える
1

For 2008 R2 correct version of this dll is 10.50.1600.1 and I've got it in C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies. Try searching there.

于 2012-08-29T15:40:03.057 に答える