powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблема получения данных Datareader ом
7 сообщений из 7, страница 1 из 1
Проблема получения данных Datareader ом
    #32835053
gdn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gdn
Гость
На мс скуле есть такая процедурка:

USE master

CREATE procedure who
AS

declare @sSpid varchar(6)
declare @sBlk varchar(128), @dt varchar(31), @EventInfo varchar(4000)

DECLARE @t TABLE (spid int, blocked int, EventInfo varchar(4000), dbmane varchar(255), status varchar(255), cmd varchar(255), loginame varchar(255), hostname varchar(255), program_name varchar(255), dt varchar(31))
CREATE TABLE #tt(EventType varchar(63), Parameters int, EventInfo varchar(4000))

declare @iFlag int
select @iFlag = 0

declare c cursor for
select spid, blocked
from master..sysprocesses (nolock)
where blocked <> 0
or spid in (select blocked from master..sysprocesses (nolock) where blocked <> 0) order by blocked desc

SET @dt = CONVERT(varchar(31), getdate(), 13)

open c
while (1=1)
begin
fetch next from c
into @sSpid, @sBlk

if (@@fetch_status = -1)
begin
break
end
if (@@fetch_status = -2) continue

SET @iFlag = 1
INSERT @t(spid, dt, blocked, EventInfo, status, loginame, hostname, dbmane, program_name, cmd)
select spid, @dt, blocked, ' ', status,
substring(loginame,1,30) loginame,
substring(hostname,1,20) hostname,
substring(db_name(dbid),1,30) dbmane,
substring(program_name,1,20) program_name,
cmd
from master..sysprocesses (nolock)
where spid = @sSpid
INSERT INTO #tt exec ('dbcc inputbuffer('+@sSpid+')')
SET @EventInfo = (SELECT EventInfo FROM #tt)
DELETE #tt
UPDATE @t
SET EventInfo = @EventInfo
WHERE spid = @sSpid
end
close c
deallocate c

SELECT * FROM @t

Как Вы все понимаете она возвращает блокировки и их буфер, иногда полезно посмотреть)))
Клиент пишется на VB.Net 2003, патч не фреймворке есть.
Проблема вот в чем, датаридер прекрасно видит названия полей и их размерность но данные не во всех полях. Для поля EventInfo он видит, что расмерность string, но данные System.DBNull. Как его зада победить?
...
Рейтинг: 0 / 0
Проблема получения данных Datareader ом
    #32835060
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проблема получения данных Datareader ом
    #32835063
Smirnov Anton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё разок:
а ошибок не случается
тк в общем случае в #tt у вас может быть не оюна запись
...
Рейтинг: 0 / 0
Проблема получения данных Datareader ом
    #32835081
gdn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gdn
Гость
процедура отрабатывает абсолютно правитльно, и SET NOCOUNT ON ставил и ремарил, все поля читаются нормально, кроме информации буфера (varchar(4000))
...
Рейтинг: 0 / 0
Проблема получения данных Datareader ом
    #32835223
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тип курсора для вашего коннекта нужно поменять с серверного на клиентский.
...
Рейтинг: 0 / 0
Проблема получения данных Datareader ом
    #32835518
gdn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gdn
Гость
Так у датаридера курсор по жизни клиентский
...
Рейтинг: 0 / 0
Проблема получения данных Datareader ом
    #32836387
gdn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gdn
Гость
Прошу прощения, сам мало дал пров юзеру )))))))))))))))
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблема получения данных Datareader ом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]