мы пытаемся создать хранимую процедуру C # CLR на компьютере с SQL Server 2005. Код C # подключается к внешнему источнику данных через драйвер OLEDB для получения данных. Он был протестирован в отдельном консольном приложении и работает без проблем.
(Драйвер OLEDEB - это проприетарный драйвер, подключающийся к проприетарной БД ...)
В SQL Server мы установили ВНЕШНИЙ уровень разрешений для сборки, это StrongNamed и для него был создан АССИМЕТРИЧЕСКИЙ КЛЮЧ в SQL Server.
Когда мы пытаемся выполнить процедуру, мы получаем две следующие проблемы:
Учетные данные, используемые для связи с OLEDB
являются те, которые службы SQL являются
работает под, а не учетные данные
зарегистрированный пользователь в контексте sql
.NET Framework повышен:
System.Security.SecurityException: запрос разрешения типа System.Data.OleDb.OleDbPermission
Кажется, что мы не можем предоставить необходимые права процессу для запуска драйвера oledb. Либо это, либо наша конфигурация отсутствует, либо мы просто делаем что-то не так. Установка уровня разрешения UNSAFE также не вариант ...
Есть ли у кого-нибудь опыт решения подобных проблем?
Любой вклад будет приветствоваться!