Я создал собственный поставщик данных .Net и пытаюсь развернуть его, чтобы использовать его в службах интеграции SQL (SSIS).Проблема, с которой я сталкиваюсь, заключается в том, что я ссылаюсь на неуправляемые методы в Win32 DLL.Чтобы мой провайдер данных работал в SSIS, я должен подписать библиотеку DLL управляемого провайдера и развернуть ее в глобальном кэше сборок (GAC).Когда я пытаюсь использовать своего поставщика данных в Business Intelligence Development Studio (BIDS), он выдает мне следующую ошибку:
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.
- Помещение неуправляемых библиотек DLL в каталог System32 (в отчаянии)
Стороннее примечание: Когда я использую свой поставщик данных в приложении Forms с неуправляемым иуправляемых сборок в одном каталоге, все работает без проблем.
Примечание 2: Я хочу, чтобы этот поставщик данных работал в большем количестве мест, чем только SSIS.Я также хочу, чтобы он работал в качестве связанного сервера в SQL Server, в качестве источника данных в SSRS, в качестве источника данных для Visual Studio, в Entity Framework и т. Д. Я бы предпочел разместить библиотеки DLL в одном месте, которое будет работать длявсе это.
Спасибо!
Крис