|
|
|
Как в CLR UDF сделать селект из функции
|
|||
|---|---|---|---|
|
#18+
С Новым Годом! Мне казалось, что я когда-то встречал подобный вопрос, но пропустил его мимо, а сейчас сам с этим столкнулся, но решение нигде не смог найти. Может кто сталкивался... Суть вот в чем: SQL Server 2008 Express Visual Studio 2008 Pro Создаю на транзакт скуле пользовательскую скалярную функцию: Код: plaintext 1. 2. 3. 4. 5. В VS создаю CLR UDF функцию, в которой делается селект, в котором участвует мой функция dbo.zzz(). При выполнении этой функции в SQL Server получаю ошибку: Код: plaintext 1. 2. 3. Без функции dbo.zzz() все работает, даже применение встроенных в сервер функций не вызывает данной ошибки, а вот пользовательские.... Пробовал делать ALTER DATABASE [БАЗА] SET TRUSTWORTHY ON - до лампочки. Сделал полный UNSAFE своей сборки - тоже самое. Еще раз повторюсь, что весь остальной код работает безупречно, любые селекты из БД и запуск хранимок происходит на ура до тех пор, пока в запросах или запускаемых хранимых процедурах не участвуют пользовательские функции. Правда забавно то, что если я функцию dbo.zzz() перепишу как CLR UDF, то все проходит на ура и работает как надо, но ведь это не выход, как то не кошерно переносить элементарные функции в среду CLR. В чем беда? Где решение проблемы? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2009, 15:29 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=35753349&tid=1351999]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 265ms |
| total: | 390ms |

| 0 / 0 |
