2012-06-22 4 views
0

Я пытаюсь выяснить входы и выходы любой хранимой процедуры SQL Server 2008.SMO Сохраненная процедура обнаружения

Я использую SMO для подключения к экземпляру базы данных, затем я захватываю все базы данных и каждую из хранимых процедур баз данных.

В настоящее время я могу взять объект StoredProcedure и получить входные параметры, но у меня возникли проблемы с поиском результата.

Я знаю, что могу использовать ExecuteWithResults для прохождения в моей хранимой процедуре, чтобы запустить его, но как я могу получить результаты?

Также, как мне передать параметры? Я строю команду exec и передаю ее?

Редактировать: Я обнаружил, что мне нужно использовать SET FMTONLY ON, но как именно передать это в ExecuteWithResults?

ответ

0

Выяснил это. Используйте StringCollection для создания коллекции строк. Обязательно добавьте («УСТАНОВИТЬ FMTONLY ON»), чтобы вы не влияли на какие-либо реальные данные. Создайте команду exec со всеми вашими параметрами из хранимых процедур «Сбор параметров», а затем выполните команды «Влияния» в этой коллекции. Это вернет DataSet []. Возьмите тот же индекс в массиве набора данных, что вы добавили команду exec на свой StringCollection. Отсюда вы можете получить таблицу результатов, а затем ее столбцы, содержащие все имена столбцов и их типы данных.

Смежные вопросы