CLR в ХП под SQL2005
От: Improved  
Дата: 27.09.06 08:19
Оценка:
Проблема заключается в том, что при выполнении сериализации в хранимке
вываливается эксепшн типа:
"Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed."
очень похож на нехватку прав для выполнения кода, но я уже в Framework Configuration прописал FullTrust чуть ли не везде, и патом разве CLR на SQL серваке туда смотрит??
Re: CLR в ХП под SQL2005
От: godmother Украина  
Дата: 27.09.06 08:39
Оценка:
Здравствуйте, Improved, Вы писали:

I>Проблема заключается в том, что при выполнении сериализации в хранимке

I>вываливается эксепшн типа:
I>"Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed."
I>очень похож на нехватку прав для выполнения кода, но я уже в Framework Configuration прописал FullTrust чуть ли не везде, и патом разве CLR на SQL серваке туда смотрит??
не там..

CREATE ASSEMBLY AssemblyName FROM 'MyDll.dll' WITH PERMISSION_SET=UNSAFE

По умолчанию сборки создаются SAFE — с весьма ограниченными правами, с доступом только к внутренним ресурсам SQL-сервера.
Re[2]: CLR в ХП под SQL2005
От: godmother Украина  
Дата: 27.09.06 08:42
Оценка:
G>
G>CREATE ASSEMBLY AssemblyName FROM 'MyDll.dll' WITH PERMISSION_SET=UNSAFE
G>

упс, забыла дописать.. Если используется только сериализация — тут должно быть достаточно EXTERNAL_ACCESS..
Может, есть и другие операции, которые требуют UNSAFE — тут уж смотрите
Re[3]: CLR в ХП под SQL2005
От: Improved  
Дата: 27.09.06 09:33
Оценка:
Здравствуйте, godmother, Вы писали:

G>>
G>>CREATE ASSEMBLY AssemblyName FROM 'MyDll.dll' WITH PERMISSION_SET=UNSAFE
G>>

G>упс, забыла дописать.. Если используется только сериализация — тут должно быть достаточно EXTERNAL_ACCESS..
G>Может, есть и другие операции, которые требуют UNSAFE — тут уж смотрите

действительно, заработало, оказывается помимо PERMISSION = EXTERNAL_ACCESS, надо было еще и на базу наложить SET TRUSTWORTHY ON, вообщем спасибо за идею.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.