Показать тот же сохраненный подробный вывод proc в .NET, который вы увидите в инструменте Query Analyzer - PullRequest
1 голос
/ 16 февраля 2010

Администратор базы данных отображает много информации в своем хранимом процессе во время выполнения.

Из формы Windows Visual Studio 2003 CSharp, когда вы запускаете хранимую процедуру SQL Server 2000, которая возвращает записи, а также параметр OUTPUT, Можно ли отобразить тот же подробный вывод, который вы видите в инструменте Query Analyzer?

Это сверху отображения возвращенных данных в сетке данных.

Спасибо, Bert

Ответы [ 2 ]

1 голос
/ 16 февраля 2010

Я предполагаю, что это сообщения от print заявлений, которые вы после. Их можно получить с события SqlConnection.InfoMessage. Пример кода:

SqlConnection conn = new SqlConnection("...");
conn.InfoMessage += new SqlInfoMessageEventHandler(RecieveInfoMessage);

Предполагается, что у вас есть такой метод, объявленный поблизости:

void RecieveInfoMessage(object sender, SqlInfoMessageEventArgs e)
{
    Console.WriteLine(e.Message);
}

Вы, конечно, можете делать с сообщением все, что захотите - запись в консоль, запись в поток / файл, добавление StringBuilder для последующего отображения в форме и т. Д.

0 голосов
/ 16 февраля 2010

В дополнение к тому, что сказал Джорн, учтите, что если для свойства FireInfoMessageEventOnUserErrors не установлено значение true, сообщения будут напечатаны только после завершения процедуры.

Для длительной работы это может быть не то, что вы ожидаете, так как все «ходовые» сообщения печатаются только после того, как все сделано, поэтому поведение не такое, как вы видели бы это в SMSS или с SQLCMD.EXE.

С другой стороны, если FireInfoMessageEventOnUserErrors установлено на true, обработка ошибок должна выполняться вручную.

Проверьте здесь для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...