Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вариант решения по просмотру стека вызовов  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
Само решение тут.
21 май 09, 21:15    [7212554]     Ответить | Цитировать Сообщить модератору
 Re: Вариант решения по просмотру стека вызовов  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
Кхм... :)
Я все запустила, процедуры приобрели после AS

exec _Context.Push @@PROCID

Скажите пож, что теперь надо сделать, чтобы

select * from _Context.Stack()

что-то вернуло? :)
22 май 09, 09:35    [7213545]     Ответить | Цитировать Сообщить модератору
 Re: Вариант решения по просмотру стека вызовов  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
Кудряшка,

Ну так процедуру вызвать!
Стек можно посмотреть только внутри процедуры, по выходу из нее - это теряет смысл, ни о каком стеке речи идти не может.

Но если есть желаение - можно в _Context.Push сохранять дерево вызовов.
Конечно, контекста тут уже не хватит - придется в таблицы сохранять, что вряд ли хорошо скажется на быстродействии. ;)
22 май 09, 11:30    [7214317]     Ответить | Цитировать Сообщить модератору
 Re: Вариант решения по просмотру стека вызовов  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
DeColo®es
Кудряшка,

Ну так процедуру вызвать!
Стек можно посмотреть только внутри процедуры, по выходу из нее - это теряет смысл, ни о каком стеке речи идти не может.


т.е. мне в процедуру надо еще поместить

select * from _Context.Stack()

ага... показывает :)
22 май 09, 11:42    [7214443]     Ответить | Цитировать Сообщить модератору
 Re: Вариант решения по просмотру стека вызовов  [new]
bartanxas
Member

Откуда:
Сообщений: 1
При выполнении данного скрипта возникли следующие ошибки:

Сообщение 195, уровень 15, состояние 10, процедура Stack, строка 18
object_schema_name не является известным имя встроенной функции.
Сообщение 102, уровень 15, состояние 1, процедура Stack, строка 34
Неправильный синтаксис около "q".
Сообщение 208, уровень 16, состояние 1, процедура pLevA, строка 11
Недопустимое имя объекта "_Context.Stack".

Стоит MS SQL 2005 Express
2 сен 09, 14:51    [7608586]     Ответить | Цитировать Сообщить модератору
 Re: Вариант решения по просмотру стека вызовов  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
[quot bartanxas]
Сообщение 195, уровень 15, состояние 10, процедура Stack, строка 18
object_schema_name не является известным имя встроенной функции.[/quot]Зато есть [src]SCHEMA_NAME()

Про остальное ничего сказать не могу.
q вроде на месте стоит...
2 сен 09, 15:05    [7608693]     Ответить | Цитировать Сообщить модератору
 Re: Вариант решения по просмотру стека вызовов  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Плохо отформатировалось
bartanxas
Сообщение 195, уровень 15, состояние 10, процедура Stack, строка 18
object_schema_name не является известным имя встроенной функции.
Зато есть
SCHEMA_NAME()

Про остальное ничего сказать не могу.
q вроде на месте стоит...
2 сен 09, 15:06    [7608702]     Ответить | Цитировать Сообщить модератору
 Re: Вариант решения по просмотру стека вызовов  [new]
RENaissance
Member

Откуда: Муром->Москва
Сообщений: 10895

bartanxas, скорее всего, у вас установлен регистро-зависимый коллейшн. В скрипте напишите OBJECT_SCHEMA_NAME большими буквами.

Posted via ActualForum NNTP Server 1.4

2 сен 09, 15:12    [7608743]     Ответить | Цитировать Сообщить модератору
 Re: Вариант решения по просмотру стека вызовов  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
А я-то глупость написал...
SCHEMA_NAME принимает SCHEMA_ID, а не OBJECT_ID
2 сен 09, 16:08    [7609139]     Ответить | Цитировать Сообщить модератору
 Re: Вариант решения по просмотру стека вызовов  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3197
OBJECT_SCHEMA_NAME() появилась то ли в первом, то ли во втором сервис-паке к 2005 - изначально ее не было, насколько я помню.
3 сен 09, 01:36    [7611027]     Ответить | Цитировать Сообщить модератору
 Re: Вариант решения по просмотру стека вызовов  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
1) Регистрозависимость баз не влияет на системные функции.
2) Вместо object_schema_name можно пользоваться конструкцией:
schema_name(convert(int, objectpropertyex(object_id, 'SchemaID')))

PS вот интересно, сколько еще придется ждать чего-то вроде object_full_name?
3 сен 09, 15:49    [7613756]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить