私はカスタム.Netデータプロバイダを構築しており、SQL Integration Services(SSIS)で使用できるように展開しようとしています。私が実行している問題は、Win32 DLLでアンマネージメソッドを参照していることです。データプロバイダがSSISで動作するには、マネージドプロバイダDLLに署名し、グローバルアセンブリキャッシュ(GAC)に展開する必要があります。私はビジネスインテリジェンス開発Studio(BIDS)での私のデータプロバイダを使用しようとすると、それは私に次のエラーを与える:GACにデプロイされるカスタム.Netデータプロバイダからアンマネージコードを呼び出す際に使用するDLLはどこに配置しますか?
TITLE: Connection Manager
------------------------------
Test connection failed because of an error in initializing provider. Unable to load DLL 'RTB32.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
------------------------------
BUTTONS:
OK
------------------------------
それが動作するように私は私のプロバイダと一緒にアンマネージコードを展開することが出来るのですか/
?私が試したこと:
- DLLを管理対象DLLに埋め込む。
- アンマネージドDLLをGACに追加します。
- アンマネージDLLの場所をPATHシステム変数に追加します。私は同じディレクトリに管理されていないとマネージアセンブリとフォームアプリで自分のデータプロバイダを使用すると、すべてがどのなく動作:
(絶望のうちの)側注System32ディレクトリに管理されていないDLLのを置く
サイドノート2:私は、このデータプロバイダがSSISだけのより多くの場所で作業したいと考えています。また、SQL Serverのリンクサーバー、SSRSのデータソース、Visual Studioのデータソース、Entity Frameworkなどで動作するようにしたいと考えています。DLLを1つの場所に配置することをお勧めしますこれらのすべて。
ありがとうございます!
クリス
これは完全に機能します。ありがとう! :) –