Извлекать сообщения базы данных (например, выходные данные оператора «Print», но не сообщения об ошибках) в ADO - PullRequest
4 голосов
/ 16 января 2012

Я использую ASP 3.0 на IIS 7 и SQL Server 2008 в качестве базы данных. У меня есть хранимая процедура, закодированная в SQL Server. У меня есть несколько операторов "Print" в нем, а также оператор select, который выбрасывает набор записей после выполнения процедуры. Я могу получить набор записей, используя

Set recordSet = Server.CreateObject ("ADODB.RecordSet")

recordSet.Open "Выполнить my_procedure", dbConn

То, что я хочу сделать здесь, - это получить выходные данные операторов «Print», которые я выполняю в хранимой процедуре. Пожалуйста помоги. Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 16 января 2012

В ADO выходные данные операторов PRINT заполняются в коллекции Errors, поэтому вам просто нужно пройтись по этой коллекции:

Dim e
For Each e In dbConn.Errors
    Response.Write e.Description
Next
1 голос
/ 16 января 2012

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

SQLConnection.InfoMessage += delegate(object sender, SqlInfoMessageEventArgs e) 
{                                    
   string printresponse = e.Message;                                    
};

Вы можете получить более подробную информацию по этой ссылке, http://www.dotnetcurry.com/ShowArticle.aspx?ID=344

Надеюсь, это поможет.

...