Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 CLR функция не запускается Ms SQL 2005  [new]
Несчастный 11
Guest
Запускаю пользовательскую функцию в MS SQL Server 2005, что нужно сделать подскажите.В каком месте задать необходимые разрешения?




A .NET Framework error occurred during execution of user defined routine or aggregate 'ReadAggr':
System.Security.SecurityException: Request for the permission of type 'System.Data.OleDb.OleDbPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
System.Security.SecurityException:
at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
at System.Security.PermissionSet.Demand()
at System.Data.Common.DbConnectionOptions.DemandPermission()
at System.Data.OleDb.OleDbConnection.PermissionDemand()
at System.Data.OleDb.OleDbConnectionFactory.PermissionDemand(DbConnection outerConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OleDb.OleDbConnection.Open()
at UserDefinedFunctions.CLRFunc()
24 авг 06, 11:06    [3047074]     Ответить | Цитировать Сообщить модератору
 Re: CLR функция не запускается Ms SQL 2005  [new]
MSSQLUral
Member

Откуда:
Сообщений: 417
Default
SAFE
EXTERNAL_ACCESS
UNSAFE

в свойствах своей CLR функции посмотри что стоит!?
24 авг 06, 11:14    [3047119]     Ответить | Цитировать Сообщить модератору
 Re: CLR функция не запускается Ms SQL 2005  [new]
Несчастный 11
Guest
Unsafe устанавливать пробовал, и в свойствах проекта Allow Unsafe Code ставил .Реакция такая:

На
CREATE ASSEMBLY SqlDB2
FROM 'C:\Documents and Settings\vufimtsev\My Documents\Visual Studio 2005\Projects\TestDB2Conn\SqlDB2\bin\Debug\SqlDB2.dll' 
WITH PERMISSION_SET = UNSAFE;
GO

даёт

Msg 10327, Level 14, State 1, Line 1
CREATE ASSEMBLY for assembly 'SqlDB2' failed because assembly 'SqlDB2' is not authorized for PERMISSION_SET = UNSAFE.  The assembly is authorized when either of the following is true: the database owner (DBO) has UNSAFE ASSEMBLY permission and the database has the TRUSTWORTHY database property on; or the assembly is signed with a certificate or an asymmetric key that has a corresponding login with UNSAFE ASSEMBLY permission
.


А на
CREATE ASSEMBLY SqlDB2
FROM 'C:\Documents and Settings\vufimtsev\My Documents\Visual Studio 2005\Projects\TestDB2Conn\SqlDB2\bin\Debug\SqlDB2.dll' 
GO

даёт

Msg 6205, Level 16, State 1, Line 1
CREATE ASSEMBLY failed because assembly 'SqlDB2' was compiled with /UNSAFE option, but the assembly was not registered with the required PERMISSION_SET = UNSAFE option.
24 авг 06, 11:21    [3047168]     Ответить | Цитировать Сообщить модератору
 Re: CLR функция не запускается Ms SQL 2005  [new]
Несчастный 11
Guest
В БД
TRUSTWORTHY в false и задизаблина
А вот где DBO разрешить unsafe я не в курсе :(
24 авг 06, 11:28    [3047224]     Ответить | Цитировать Сообщить модератору
 Re: CLR функция не запускается Ms SQL 2005  [new]
MSSQLUral
Member

Откуда:
Сообщений: 417
А вы под DBO?
24 авг 06, 11:30    [3047238]     Ответить | Цитировать Сообщить модератору
 Re: CLR функция не запускается Ms SQL 2005  [new]
Несчастный 11
Guest
MSSQLUral
А вы под DBO?


Да
24 авг 06, 11:31    [3047248]     Ответить | Цитировать Сообщить модератору
 Re: CLR функция не запускается Ms SQL 2005  [new]
MSSQLUral
Member

Откуда:
Сообщений: 417
попробуйте EXTERNAL_ACCESS
24 авг 06, 11:36    [3047277]     Ответить | Цитировать Сообщить модератору
 Re: CLR функция не запускается Ms SQL 2005  [new]
Несчастный 11
Guest
MSSQLUral
попробуйте EXTERNAL_ACCESS


Попробовал, и пробовал менять доступ в сборке , просто
слова UNSAFEв предыдущих сообщениях поменялись на EXTERNAL_ACCESS :(

Где то надо просто наверное для дбо включить разрешение на использование таких сборок , нашел такое включение только для логинов включал - не вышел каменный цветок :(
24 авг 06, 11:42    [3047306]     Ответить | Цитировать Сообщить модератору
 Re: CLR функция не запускается Ms SQL 2005  [new]
Несчастный 11
Guest
Всё получилось

с помощью

alter database <Name>
set TRUSTWORTHY ON

и нашел я где в пермиссионах для владельца базы UNSAFE ASSEMBLY устанавливается, тоже установил и запустилось
24 авг 06, 13:14    [3047969]     Ответить | Цитировать Сообщить модератору
 Re: CLR функция не запускается Ms SQL 2005  [new]
BusyMan
Member

Откуда: Москва
Сообщений: 4927
Несчастный 11
Всё получилось

с помощью

alter database <Name>
set TRUSTWORTHY ON

и нашел я где в пермиссионах для владельца базы UNSAFE ASSEMBLY устанавливается, тоже установил и запустилось
где?
24 ноя 06, 22:22    [3450339]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: CLR функция не запускается Ms SQL 2005  [new]
Valery Chesnokov
Member

Откуда: Russia, Volgograd
Сообщений: 148
Несчастный 11
и нашел я где в пермиссионах для владельца базы UNSAFE ASSEMBLY устанавливается, тоже установил и запустилось
Где это? Где задать UNSAFE ASSEMBLY, подскажите, пожалуйста, не моуг найти ;(
желательно T-SQL скриптом, или хоть через GUI. Всю консоль облазил, не нашёл.
20 янв 09, 03:40    [6707996]     Ответить | Цитировать Сообщить модератору
 Re: CLR функция не запускается Ms SQL 2005  [new]
Valery Chesnokov
Member

Откуда: Russia, Volgograd
Сообщений: 148
Valery Chesnokov
Несчастный 11
и нашел я где в пермиссионах для владельца базы UNSAFE ASSEMBLY устанавливается, тоже установил и запустилось
Где это? Где задать UNSAFE ASSEMBLY, подскажите, пожалуйста, не моуг найти ;(
желательно T-SQL скриптом, или хоть через GUI. Всю консоль облазил, не нашёл.
Всё, нашёл:
USE [master]
GRANT UNSAFE ASSEMBLY TO myuser
20 янв 09, 03:44    [6707997]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить