CommandBehavior.SchemaOnly не работает для некоторых хранимых процедур
Выполнение вызова ADO.NET для запуска хранимой процедуры с использованием IDbCommand.ExecuteReader(SchemaOnly)
и он генерирует исключение, если хранимая процедура использует временную таблицу. Исключение составляет "Invalid object name '#tempPCBBHolidays'."
(это название таблицы).
Так...
Использует CommandBehavior.SchemaOnly
плохая идея для хранимых процедур? Если да, то когда мне нужны только метаданные CommandBehavior.SingleRow
вместо?
Или я должен сделать вызов в try/catch и только при переключении исключения в SingleRow
? (Это для инструмента SQL, который мы поставляем, поэтому я не знаю, какие хранимые процедуры будут вызываться.)
Или есть другой подход, который лучше?
спасибо - Дэйв
1 ответ
Согласно форуму MSDN, это известная проблема с Sql Server. Решением является повторный вызов с запросом SingleRow.