powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Эйчаре; П02-му; Коту2;
25 сообщений из 30, страница 1 из 2
Эйчаре; П02-му; Коту2;
    #33009343
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.sql.ru/forum/actualthread.aspx?tid=175107
Рибяты (к**вы), помогите. Однозначно прошу. Короче, нужна гарантия, что
это работает в=с=е=г=д=а на любом "н=о=р=м=а=л=ь=н=о=м" языке (С/С#).

Повторяю идею:
ADOVBS --<<>>-- Socket1(1434) <-> data <-> Socket2 --<<>>-- SS(1433)

И прилагаю упрощенный код своего как-бы-сниффера. Просто перепишите
это на C# и доложите результат. Просьба отнестись сурьезно и без ухмылок.
Мне и так чижело. "30 суток" - это вам не шуточки.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
import socket
host = '127.0.0.1'
port =  1434 
s1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s2.connect((host,  1433 ))
s1.bind((host, port))
s1.listen( 1 )
cn, addr = s1.accept()
while  1 :
    data = cn.recv( 4096 )
    if not data: break
    print 'client: ', data -- печатаем в stdout запрос от VB скрипта;
    s2.send(data)
    data = s2.recv( 4096 )
    if not data: break
    print 'sqlserver: ', data -- печатаем в stdout ответ от SQL сервера;
    cn.send(data)
s1.close()
s2.close()
cn.close()
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33009457
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы посмотрел, но не понял, куды код сувать. Да у меня на букву "с" ни дома, ни на работе нет ничего.
=====================
А вообще-то, по-моему вопрос имеет чисто академический интерес. Типа, что будет, если базу править нотепадом?
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33009505
Фотография папа акуз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
токашто за вот токуюже иле падобную х.йню предлогале симнаццать тыщ ганжубаксоф. фсе поржали.

зы
афтар жжот!!!

тынц
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33009506
Фотография папа акуз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
афтар - ноченающий хакер!!!



тынц
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33009507
Фотография папа акуз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне и так чижело. "30 суток" - это вам не шуточки.

прицтавел, што будут делоть с афтором черис триццать сутог... ужэ нисмишно.

тынц
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33009510
Фотография папа акуз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
памоиму афтора пора спосать. новерно афтар сейчас седит глубако ф тылу врога и от решенея этой зодачи зовисит будет ли вскрыт сикретный сайд пинтагона иле к афтару прешлют чистильщека... аш ф пот прашыбло.

афтар, пешы ищё!!!

тынц
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33011367
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Осталась одна надежда - на Магнуса23.
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33011421
Фотография Программизд 02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Администратор
RatTailОсталась одна надежда - на Магнуса23.

Надо было его в сабже перечислить, а так он может обидиться и отказать в помощи.
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33011744
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
using System.Net;
using System.Net.Sockets;
using System.Text;

			int port = 1434;
			Socket s1 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
			Socket s2 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
			s2.Connect(new IPEndPoint(new IPAddress(new byte[]{127,0,0,0}), 1433));
			s1.Bind(new IPEndPoint(new IPAddress(new byte[]{127,0,0,0}), port));
			s1.Listen(1);
			Socket s3  = s1.Accept();
			int bytes;
			Byte[] RecvBytes = new Byte[4096];

			do{
				bytes = s3.Receive(RecvBytes, RecvBytes.Length, 0);
				if(bytes == 0) break;
				Console.WriteLine("client:{0}", Encoding.ASCII.GetString(RecvBytes));//печатаем в stdout запрос от VB скрипта;
				s2.Send(RecvBytes);
				bytes = s2.Receive(RecvBytes, RecvBytes.Length, 0);
				if(bytes == 0) break;
				Console.WriteLine("sqlserver:{0}", Encoding.ASCII.GetString(RecvBytes)); //печатаем в stdout ответ от SQL сервера;
				s3.Send(RecvBytes);
			}while(true);
			s1.Shutdown(SocketShutdown.Both);
			s1.Close();
			s2.Shutdown(SocketShutdown.Both);
			s2.Close();
		

У меня времени щас нету, поэтому пока только вольный перевод сделал, не тестил, щас и сервака нема.
Вообщем здается мне чето там не так.

Magnus
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33011864
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RatTailОсталась одна надежда - на Магнуса23.

надежда не подвела
ещё б кто потестировал :)
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33011943
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!

Магнус - Ты Гений! Тока пожалуйста протестируй на моем (том)
конкретном VB скрипте и выложи бинарник "переговоров" скрипта с сиквелом.

PS А чего-й-то эйч так странно ухмыляется? Ошибку какую заметил или что?
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33011991
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу я щас тестить, неначем, надо еще кого нить привлечь.
Я с сокетами мало работал, может Эйч чего и углядел, вот и лыбится :).

Magnus
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33012022
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Магнус, лапчонок.... я ведь не гоню тебя типа кровь из ноздрей.
Чайку попей.. то да сё.. Но сильно не затягивай это дело.

Коту2 привет! Нашел я родной CD под материнку и все встало.
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33012041
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я блин на работе исчо, тут и чайку то нифига нету и сервака локального нету. И дома тоже нету пока, я недавно форматил все нафиг, сервак еще не поставил, студию тоже.
Может позже че нить придумаю. Тебе на когда надо?


Magnus
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33012077
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Тебе на когда надо?

Да "на" в любой момент, в принципе.

ЗЫ
Не, блин. Как бы там ни было, но я теперь ясно вижу: МАГНУС23 - ГЕНИЙ.

ЗЗЫ
До эйча ему еще, конечно, пока далеко. Но это дело поправимое.
А чего, кстати, эйч брезгует твой код протестить?
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33012852
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> А чего, кстати, эйч брезгует твой код протестить?

Не обязательно именно эйч. Подойдет и любой другой реальный шарпист.
Ждем-с. Мы ждать умеем.

Рыт II. Период Великого Подрытия Устоев, день Унь месяца Кха.
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33015359
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.
Без with nowait s raiserrors работают прекрасно. В смысле,
ничего не подвешивают.
2.
И с with nowait s тоже работают, НО только, если такой raiserror
один на отдельный батч. Иначе VB скрипт зависает.
3.
ВОПРОС: почему же тогда VB скрипт (ADO) работает без проблем и в этом
случае, НО только, если натравить его на правильный порт (1433), минуя
сокеты?


Этот скрипт работает как надо (через два сокета);
если откомментить кусок в первом cn.Execute, то зависает......
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open _
"Provider=sqloledb;Data Source=127.0.0.1,1434;" & _
"Network Library=DBMSSOCN;Initial Catalog=pubs;" & _
"User ID=qwe;Password=asdasd;"

cn.Execute _
"set nocount on; select top 1 * from authors;" & _
"waitfor delay '000:00:05'; raiserror ('AAA',10,1) with nowait;" & _
"----declare @i int; set @i=31415926; select @i;" & _
"----waitfor delay '000:00:05'; raiserror ('BBB',10,1) with nowait;"

cn.Execute _
"declare @i int; set @i=31415926; select @i;" & _
"waitfor delay '000:00:05'; raiserror ('BBB',10,1) with nowait;"

rs = cn.Execute("select top 1 * from titles;")
MsgBox rs( 2 )
cn.Close
Set rs = Nothing: Set cn = Nothing
MsgBox "END"

Запись перехвата (ес-но, перехваченные данные можно "портить" на лету):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
VB_SCRIPT:
 )             я  В    Р  


SQLSERVER:
 %             я  В   


VB_SCRIPT:
 в   Ъ      q      t      а €яяя  V  X  ^  j ! ¬      
И  Т   Т  L TЇS    Ъ   W q w e іҐ’ҐгҐіҐ’ҐгҐM i c r o s o f t
   ( r )   W i n d o w s   S c r i p t   H o s t  1   2   7  .  0  .  0  
.  1  ,  1   4   3   4  O L E D B p u b s 


SQLSERVER:
U  3  г p u b s m a s t e r «T E   # C h a n g e d   d a
 t a b a s e   c o n t e x t   t o   ' p u b s ' . W    г 
Р   г 
u s _ e n g l i s h  «\ G    C h a n g e d   l a n g u a g e 
  s e t t i n g   t o   u s _ e n g l i s h . W    ­ 6    M i
 c r o s o f t   S Q L   S e r v e r       Вг  4   0   9   6   4   0   9 
  6  э        


VB_SCRIPT:
В   s e t   n o c o u n t   o n ;   s e l e c t   t o p    1  
  *   f r o m   a u t h o r s ; w a i t f o r   d e l a y   ' 0
 0 0 : 0 0 : 0 5 ' ;   r a i s e r r o r   ( ' A A A ' ,  1   0  ,  1  )
   w i t h   n o w a i t ; - - - - - d e c l a r e   @ i   i n t ;
   s e t   @ i =  3   1   4   1   5   9   2   6  ;   s e l e c t   @ i ; - - - - -
 w a i t f o r   d e l a y   ' 0 0 0 : 0 0 : 0 5 ' ;   r a i s e r
 r o r   ( ' B B B ' ,  1   0  ,  1  )   w i t h   n o w a i t ; 


SQLSERVER:
s  3  э №     Ѓ	  § Р  a u _ i d    §( Р  a u _
 l n a m e    § Р  a u _ f n a m e    Ї Р  p h o n e   
	 §( Р  a d d r e s s   	 § Р  c i t y   	 
Ї Р  s t a t e   	 Ї Р  z i p     2 c o n t r a c t С  17 
 2 - 32 - 1176  White Johnson  408   496 - 7223   10932  Bigge Rd.
 Menlo Park CA  94025 э Б    э у     « PГ    A A A W   э  ц     


VB_SCRIPT:
 Ъ   d e c l a r e   @ i   i n t ;   s e t   @ i =  3   1   4   1   5   9   2   6  ;
   s e l e c t   @ i ; w a i t f o r   d e l a y  ' 0 0 0 : 0 0 : 0 5 '
 ;  r a i s e r r o r   ( ' B B B ' ,  1   0  ,  1  ) w i t h   n o w a i t ; 


SQLSERVER:
 S  3  э Б    Ѓ    & Сv^Яэ Б    э у     « PГ    B B B W
   э  ц     


VB_SCRIPT:
 >   s e l e c t   t o p    1    *   f r o m   t i t l e s ; 


SQLSERVER:
В  3  Ѓ
  § Р  t i t l e _ i d    §P Р  t i t l e    Ї Р  t y
 p e   	 Ї Р  p u b _ i d   	 np r i c e   	 na
 d v a n c e   	 &r o y a l t y   	 &	y t d _ s a l e s   	
 §И Р  n o t e s    =p u b d a t e С BU1032# The Busy Executive's
 Database Guide business      1389     Ь     Ђръ
   я  e An overview of available database systems with emphasis on 
common business applications. Illustrated.w‚      э  Б 
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33016945
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
многа букв. пачти все - неизвестные

/нечетабельно/

...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33016972
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A ты не читай, потести и выложи такие же.

Magnus
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33017042
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> И с with nowaits тоже работают, НО только, если такой raiserror
> один на отдельный батч. Иначе VB скрипт зависает.

Прямо сейчас наверняка не скажу, но думаю, что он д.б. не просто
один на весь батч, но и должен стоять в самом конце этого батча.
Правда, в этом случае довесок with nowait выглядит дебильски.

Кстати, Магнусевич, согласись, что все это напоминает дурацкое
поведение (в VB) события _InfoMessage(), когда ловится только 1-ый
raiserror ... with nowait. Но в чем здесь соль и прикол я уловить не могу.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Option Explicit
Private WithEvents c As ADODB.Connection

Private Sub Кнопка0_Click()
Set c = New ADODB.Connection
c.Open "provider=sqloledb;data source=***;initial catalog=***;" & _
"user id=sa;password=***;"
c.Execute "set nocount on;" & _
"raiserror ('AAA',1,1) with nowait; waitfor delay '000:00:05';" & _
"raiserror ('BBB',1,1) with nowait; waitfor delay '000:00:05';" & _
"raiserror ('CCC',1,1) with nowait;"
c.Close
Set c = Nothing
MsgBox "END"
End Sub

Private Sub c_InfoMessage(ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
MsgBox pError.Description
End Sub
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33018667
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Магнусяй, чего затаился? Когда результаты теста представишь?
*** *** ***
Господа, это н.е.с.е.р.ь.е.з.н.о. Вы что, сговорились?
Если так, то сегодня же вечером выложу свои логин и пароль
для растерзания негодниками. Угроза нешуточная, а реальная.

PS
П02, будь начеку! Мало ли чего.
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33018672
Фотография Программизд 02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Администратор
RT

Ты чего это? Такие задачки щёлкал как пасатижами, а с сокетами программку написать не можешь?
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33018791
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RatTail,
епта, напомоинает. И очень сильно, похоже та самая хрень. Я над ней долго бился, еще на ГФ тред замутил с обсуждением. Так ничего толком и не решили, я тогда на
SQLDMO переключился, с ним все прокатывало на ура.
Ты чем слушаешь вообще? Говорю ж, нема сервка у меня локального на работе. А дома пока непоставил, времени нету, устаю как скотина. Может на выходных доберусь.
А ты тоже нашел где запостить, в треп давно уже не ходят за задачками, кинь в шарп ссылку на это дело.


Magnus
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33018901
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33019106
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П02,
будь добр, не выводи меня из себя. Или прочитай внимательно мои
вопрос и просьбу по сабжу или не выводи. К DranKot'у это тоже относится. :)

Магн.,
питоном слушаю http://www.python.org/2.4.1/ правда, у меня пред. версия:
Python 2.3.4 (#53, May 25 2004, 21:17:02) [MSC v.1200 32 bit (Intel)] on win32
Хотя я тебя знаю; первым делом игры дебильские на свою машину поставишь.
Ждем-с. :(
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Эйчаре; П02-му; Коту2;
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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