Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Перехватит запросов  [new]
bjohny
Member

Откуда:
Сообщений: 1017
Доброго времени суток. Такая проблема, необходимо перехватить SQL запрос посылаемый какой-либо СУБД(orecle, MS SQL Server, MS Access), обработать время реагирования на запрос и время ответа. Вопрос: Как это сделать???
Необходимо написать прогу работающую именно с сервером, а не с клиентской частью.
13 дек 02, 11:38    [90435]     Ответить | Цитировать Сообщить модератору
 Re: Перехватит запросов  [new]
Silver
Member

Откуда:
Сообщений: 141
Перехват запросов "Аззсекса" -- дело довольно глухое -- серверной-то части нету ....

По поводу нормальных SQL-серверов -- садишь перехватчик на порт (у Оракла 1521, у MS SQL 1423 -- по умолчанию) -- вот стандартных прог таких не видел :))
13 дек 02, 13:35    [90470]     Ответить | Цитировать Сообщить модератору
 Re: Перехватит запросов  [new]
killed
Member

Откуда: Moscow
Сообщений: 3526
>По поводу нормальных SQL-серверов -- садишь перехватчик на порт (у Оракла 1521

Если речь об Oracle на MS Win, то по-умолчанию по 1521 можно перехватить только запрос на соединение. Общение будет происходить по random-порту. Анализировать пакеты Net8 имхо гиблое дело. Все, что нужно автору исходного вопроса можно получить через трейс-файлы, но интерактивность процесса разумеется пропадает.
13 дек 02, 20:17    [90588]     Ответить | Цитировать Сообщить модератору
 Re: Перехватит запросов  [new]
Jimmy
Member

Откуда: г.Москва
Сообщений: 3136
По поводу нормальных SQL-серверов -- садишь перехватчик на порт (у Оракла 1521, у MS SQL 1423 -- по умолчанию) -- вот стандартных прог таких не видел :))

Для MSSQL 7/2000 - Profiler. Стандартная утилита.
15 дек 02, 17:57    [91129]     Ответить | Цитировать Сообщить модератору
 Re: Перехватит запросов  [new]
SiDen
Member

Откуда:
Сообщений: 518
Ну, перехватите Вы пакеты. А кто их будет парсить? Надо еще ставить в соответствие пакеты запроса с пакетами ответа. Вообще, имхо, вопрос поставлен некорректно. Такое ощущение, что пытаются решить задачу "в лоб". Может стоит обрисовать задачу более в общем виде. А то получается, что надо все анализировать для многих типов серваков. Если пытаться решать задачу именно так, как она поставлена, то тогда Вам надо брать исходники Ethereal, ставить PCap и тратить свои человеко-литро-часы... Более того, не совсем понятна формулировка время реагирования, среагирует-то он сразу а вот когда пользователь получит то, что ожидал.... если вообще получит...
15 дек 02, 18:41    [91150]     Ответить | Цитировать Сообщить модератору
 Re: Перехватит запросов  [new]
Silver
Member

Откуда:
Сообщений: 141
2 killed:
Перехватив обращение к листенеру можно послать данные дальше -- но уже от себя, став неким промежуточным звеном, дальше все тривиально :)) Бери пакеты и разгребай :))

2 Jimmi:
Я протупил :)) Причем качественно :))

2 SiDen:
А судя по постановке вопроса никто и не собирался анализировать содержание запроса и ответа -- только время отклика сервака. Так что хватит обычного перехватчика-транслятора с фиксацией времени
16 дек 02, 14:02    [91595]     Ответить | Цитировать Сообщить модератору
 Re: Перехватит запросов  [new]
SiDen
Member

Откуда:
Сообщений: 518
А кто тогда даст гарантию что валит пакет в ответ на запрос, а не еще чего-нить? Можно конечно прото сделать гейт... но тут для аксесса не подходит... Более того, если ловить только отклик, то это мы будем скорость сети просто мерять

Пример: запрос к ораклу
select * from dbo.ta_taskdb

where taskshortname like '%MSUB%'
Пакеты: от клиента к ораклу

0x0000 00 30 05 1C 25 A5 00 C0-26 A6 4F 42 08 00 45 00 .0..%Ґ.А&¦OB..E.
0x0010 00 F7 79 58 40 00 FF 06-70 DE C8 00 00 C6 C8 00 .чyX@.я.pЮИ..ЖИ.
0x0020 00 03 09 4E 09 13 93 13-7B 4C 00 2A A6 55 50 18 ...N..“.{L.*¦UP.
0x0030 3F 36 FB EC 00 00 00 CF-00 00 06 00 00 00 00 00 ?6ым...П........
0x0040 11 69 0A 6C 06 FA 01 02-00 00 00 05 00 00 00 12 .i.l.ъ..........
0x0050 00 00 00 03 5E 0B 61 80-00 00 00 00 00 00 DC F6 ....^.aЂ......Ьц
0x0060 F9 01 3E 00 00 00 88 B8-F6 01 0A 00 00 00 00 00 щ.>...€ёц.......
0x0070 00 00 AC B8 F6 01 00 00-00 00 00 00 00 00 00 00 ..¬ёц...........
0x0080 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0x0090 00 00 00 00 00 00 00 00-00 00 AE B8 F6 01 3E 73 ..........®ёц.>s
0x00A0 65 6C 65 63 74 20 2A 20-66 72 6F 6D 20 64 62 6F elect * from dbo
0x00B0 2E 74 61 5F 74 61 73 6B-64 62 0A 77 68 65 72 65 .ta_taskdb.where
0x00C0 20 74 61 73 6B 73 68 6F-72 74 6E 61 6D 65 20 6C taskshortname l
0x00D0 69 6B 65 20 27 25 4D 53-55 42 25 27 0A 01 00 00 ike '%MSUB%'....
0x00E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0x00F0 00 00 00 00 00 00 00 00-00 01 00 00 00 00 00 00 ................
0x0100 00 04 00 00 00


от оракла к клиенту

0x0000 00 C0 26 A6 4F 42 00 30-05 1C 25 A5 08 00 45 00 .А&¦OB.0..%Ґ..E.
0x0010 01 B8 15 01 40 00 80 06-53 75 C8 00 00 03 C8 00 .ё..@.Ђ.SuИ...И.
0x0020 00 C6 09 13 09 4E 00 2A-A6 55 93 13 7C 1B 50 18 .Ж...N.*¦U“.|.P.
0x0030 22 38 96 E8 00 00 01 90-00 00 06 00 00 00 00 00 "8–и...ђ........
0x0040 10 BE 02 00 00 06 00 00-00 33 01 80 00 00 FF 00 .ѕ.......3.Ђ..я.
0x0050 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0x0060 1F 00 01 00 0A 0A 00 00-00 0A 54 41 53 4B 44 42 ..........TASKDB
0x0070 4E 41 4D 45 00 00 00 00-00 00 00 00 01 80 00 00 NAME.........Ђ..
0x0080 28 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 (...............
0x0090 00 00 1F 00 01 00 0D 0D-00 00 00 0D 54 41 53 4B ............TASK
0x00A0 53 48 4F 52 54 4E 41 4D-45 00 00 00 00 00 00 00 SHORTNAME.......
0x00B0 00 02 00 04 00 16 00 00-00 00 00 00 00 00 00 00 ................
0x00C0 00 00 00 00 00 00 00 00-00 00 01 08 08 00 00 00 ................
0x00D0 08 54 41 53 4B 54 59 50-45 00 00 00 00 00 00 00 .TASKTYPE.......
0x00E0 00 01 80 00 00 64 00 00-00 00 00 00 00 00 00 00 ..Ђ..d..........
0x00F0 00 00 00 00 00 00 00 1F-00 01 01 0C 0C 00 00 00 ................
0x0100 0C 54 41 53 4B 4C 4F 4E-47 4E 41 4D 45 00 00 00 .TASKLONGNAME...
0x0110 00 00 00 00 00 01 80 00-00 FF 00 00 00 00 00 00 ......Ђ..я......
0x0120 00 00 00 00 00 00 00 00-00 00 00 1F 00 01 01 08 ................
0x0130 08 00 00 00 08 54 41 53-4B 4C 49 4E 4B 00 00 00 .....TASKLINK...
0x0140 00 00 00 00 00 01 80 00-00 1E 00 00 00 00 00 00 ......Ђ.........
0x0150 00 00 00 00 00 00 00 00-00 00 00 1F 00 01 01 08 ................
0x0160 08 00 00 00 08 53 49 54-45 4E 41 4D 45 00 00 00 .....SITENAME...
0x0170 00 00 00 00 00 07 00 00-00 07 78 66 0C 11 08 24 ..........xf...$
0x0180 1C 08 04 00 BD C7 06 00-00 00 00 00 05 00 00 00 ....ЅЗ..........
0x0190 00 00 00 00 00 00 00 00-04 00 00 00 00 00 00 00 ................
0x01A0 00 00 00 05 00 12 00 03-00 00 00 00 00 00 00 00 ................
0x01B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 0B ................
0x01C0 00 00 01 00 00 00

оракл - клиента

0x0000 00 30 05 1C 25 A5 00 C0-26 A6 4F 42 08 00 45 00 .0..%Ґ.А&¦OB..E.
0x0010 00 A1 79 59 40 00 FF 06-71 33 C8 00 00 C6 C8 00 .ЎyY@.я.q3И..ЖИ.
0x0020 00 03 09 4E 09 13 93 13-7C 1B 00 2A A7 E5 50 18 ...N..“.|..*§еP.
0x0030 44 70 84 19 00 00 00 79-00 00 06 00 00 00 00 00 Dp„....y........
0x0040 03 5E 0C 40 00 00 00 05-00 00 00 00 00 00 00 00 .^.@............
0x0050 00 00 00 88 B8 F6 01 09-00 00 00 00 00 00 00 AC ...€ёц.........¬
0x0060 B8 F6 01 00 00 00 00 00-00 00 00 00 01 00 00 00 ёц..............
0x0070 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0x0080 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 19 ................
0x0090 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0x00A0 00 00 00 00 00 00 00 01-00 00 00 00 00 00 00 ...............

клиента - оракл

0x0000 00 C0 26 A6 4F 42 00 30-05 1C 25 A5 08 00 45 00 .А&¦OB.0..%Ґ..E.
0x0010 00 7A 16 01 40 00 80 06-53 B3 C8 00 00 03 C8 00 .z..@.Ђ.SіИ...И.
0x0020 00 C6 09 13 09 4E 00 2A-A7 E5 93 13 7C 94 50 18 .Ж...N.*§е“.|”P.
0x0030 21 BF 5C 5F 00 00 00 52-00 00 06 00 00 00 00 00 !ї\_...R........
0x0040 04 00 00 00 00 7B 05 00-00 00 00 05 00 00 00 03 .....{..........
0x0050 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0x0060 00 00 00 00 00 00 00 0C-00 00 01 00 00 00 19 4F ...............O
0x0070 52 41 2D 30 31 34 30 33-3A 20 6E 6F 20 64 61 74 RA-01403: no dat
0x0080 61 20 66 6F 75 6E 64 0A- a found.

клиента - оракл

0x0000 00 30 05 1C 25 A5 00 C0-26 A6 4F 42 08 00 45 00 .0..%Ґ.А&¦OB..E.
0x0010 00 28 79 5A 40 00 FF 06-71 AB C8 00 00 C6 C8 00 .(yZ@.я.q«И..ЖИ.
0x0020 00 03 09 4E 09 13 93 13-7C 94 00 2A A8 37 50 10 ...N..“.|”.*Ё7P.
0x0030 44 1E 10 82 00 00 D..‚..

Вообщем автор треда пропал, конкретики нет, а посему безпричинный спор получается.
To Silver: По постановке вопроса надо скл-запрос перехватить... Хотя конечно неважно какой ответ, но надо так полагать, что ответ на этот запрос интересует
17 дек 02, 07:46    [92018]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить