CommandBehavior.SchemaOnly не работает для некоторых хранимых процедур

Выполнение вызова ADO.NET для запуска хранимой процедуры с использованием IDbCommand.ExecuteReader(SchemaOnly) и он генерирует исключение, если хранимая процедура использует временную таблицу. Исключение составляет "Invalid object name '#tempPCBBHolidays'." (это название таблицы).

Так...

Использует CommandBehavior.SchemaOnly плохая идея для хранимых процедур? Если да, то когда мне нужны только метаданные CommandBehavior.SingleRow вместо?

Или я должен сделать вызов в try/catch и только при переключении исключения в SingleRow? (Это для инструмента SQL, который мы поставляем, поэтому я не знаю, какие хранимые процедуры будут вызываться.)

Или есть другой подход, который лучше?

спасибо - Дэйв

1 ответ

Согласно форуму MSDN, это известная проблема с Sql Server. Решением является повторный вызов с запросом SingleRow.

Другие вопросы по тегам