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

Откуда:
Сообщений: 426
Всем добрый день. Есть такая процедура
ALTER procedure [dbo].[sprMountTable](@PartitionTableName sysname, 
	@MainTableName sysname, 
	@PartitionNumber int, 
	@PartitionColumn sysname,
	@EventBeforeReplaceTable sysname,
	@JustPrint int = 0
)
as
begin
	declare @script nvarchar(max), @result int
	select @script = dbo.fnScriptMount(@PartitionTableName, @MainTableName, @PartitionNumber, @PartitionColumn, @EventBeforeReplaceTable)
	if @JustPrint = 0
		exec sp_executesql @stmt = @script
	print @script
end


она, как видно, внутри генерирует запрос и запускает его динамически.
В некоторых случаях этот внутренний запрос выходит кривой (но не в этом вопрос).

Вопрос в том, почему наша программа на C#, которая делает вызов sprMountTable,
не перхватывает никаких исключений в тех случаях, когда внутренний запрос кривой?

Если из management studio напрямую вызвать
exec sprMountTable 'factSalesDetails_201212', 'factSalesDetails', 201212, 'YYYYMM', null
то получим ошибку (красным цветом) с описанием проблемы внутри динамического скрипта.
Почему я не могу поймать того же самого в нашем коде?
18 апр 13, 19:19    [14200371]     Ответить | Цитировать Сообщить модератору
 Re: Динамический запрос внутри процедуры глючит, а наверху не видим ошибки  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
set nocount on в начало процедуры
print убрать
18 апр 13, 19:22    [14200378]     Ответить | Цитировать Сообщить модератору
 Re: Динамический запрос внутри процедуры глючит, а наверху не видим ошибки  [new]
Игорь Бобак
Member

Откуда:
Сообщений: 426
invm,

спасибо за совет.
сработало.
18 апр 13, 23:00    [14200889]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить