powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Эйчаре; П02-му; Коту2;
30 сообщений из 30, показаны все 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
Эйчаре; П02-му; Коту2;
    #33032192
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если на шагах 4-6 подпихнуть клиента вручную,
то все как бы работает как должно: приходит первая ошибка 'AAA',
через 3 секунды вторая ('BBB') и еще через 3 секунды третья ('CCC').
Иначе все замирает до момента CommandTimeout, а затем сбрасывается
на клиента все скопом (оставшиеся ошибки 'BBB', 'CCC' и селект).
=============================================
Я вообще ничего не понимаю.
Кстати, Кот, ты же вчера мозгов прикупил; может что подскажешь?
Типа, из общих соображений и опираясь на многовековую мудрость
генетической памяти предков. А не то пароль выложу.


Python:
Код: 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.
import socket
host, port = '127.0.0.1',  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()
i =  0 
while  1 :
    i +=  1                 ## i - счетчик шагов
    if  4  <= i <=  6 :
        data = ' 2\u'
        s2.send(data)     ## форсируем ложный ответ от VBS
        ## сам VBS упорно молчит
        print 'VB_SCRIPT[manually]:', data
    else:
        data = cn.recv( 4096 )
        if not data: break
        s2.send(data)
        print 'VB_SCRIPT:', data
    data = s2.recv( 4096 )
    if not data: break
    cn.send(data)
    print 'SQL_SERVER:', data
cn.close()
s1.close()
s2.close()

VBS:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Set cn = CreateObject("ADODB.Connection")
cn.Open _
"Provider=sqloledb;Data Source=127.0.0.1,1434;" & _
"Network Library=DBMSSOCN;Initial Catalog=pubs;" & _
"User ID=qwe;Password=asdasd;"
cn.Execute _
"select 'XXXXXXXXXXXX';" & _
"waitfor delay '00:00:03'; raiserror ('AAA',10,1) with nowait;" & _
"waitfor delay '00:00:03'; raiserror ('BBB',10,1) with nowait;" & _
"waitfor delay '00:00:03'; raiserror ('CCC',10,1) with nowait;" & _
"waitfor delay '00:00:03'; select 'YYYYYYYYYYYY';"
Set rs = cn.Execute _
("waitfor delay '00:00:03'; select 'ZZZZZZZZZZZZ';")
a = rs( 0 )
cn.Close: Set rs = Nothing: Set cn = Nothing
MsgBox a

StdOut (немного подпорченный для лучшего восприятия):
Код: 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.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
VB_SCRIPT:
        p      	Sыя    а €яяя  V  X  ^  j ! ¬      И 
 Т   Т  DEST  Ъ  0    Z 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 NTLMSSP    ‚                       0         0 

SQL_SERVER:
~    г 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 ' . Z    г 
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 '. Z    г c p  1   2   5   1    г 
 1   0   3   3   г  1   9   6   6   0   9   ­ 6     M i c r o s o f t   S Q L   S e r v
 e r      oг  4   0   9   6   4   0   9   6  э        

VB_SCRIPT:
Z   s e l e c t    5   0   4  , c . n a m e , c . d e f i n i t i o n   
f r o m   m a s t e r . d b o . s y s c h a r s e t s   c , 
m a s t e r . d b o . s y s c h a r s e t s   c  1  , m a s t e r . d b o
.s y s c o n f i g u r e s   f   w h e r e   f . c o n f i g =  1   1   2   3    
a n d   f . v a l u e = c  1  . i d   a n d   c  1  . c s i d = c . i d   

SQL_SERVER:
    Ѓ      8    з n a m e    "яяя  d e f i n i t i o n Сш   
c p 1 2 5 1 8ЪЉXяяяяяяяяяяя8ЪЉXяяя           
      		    
                       
       !!  "" ## $$@ %%  &&  '' ((  )) **  ++  ,,  --  ..  //
 00  11  22  33  44  55  66  77  88  99 ::  ;;  
<<  ==  >>  ??  @@
AaBbCcDdEeFfGgHhIiJjKkLlMmNn
OoPpQqRrSsTtUuVvWwXxYyZz 
[[  \\  ]]  ^^  __ `` AaBbCcDdEeFfGgHhIiJj
KkLlMmNnOoPpQqRrSsTtUuVv
WwXxYyZz{{  ||  }}  ~~ ЂђЃѓ‚‚ Ѓѓ„„ …… 
†† ‡‡ €€ ‰‰ Љљ‹‹ ЊњЌќЋћЏџЂђ‘‘ ’’ ““
 ”” •• –– —— ˜˜ ™™ Љљ›› ЊњЌќЋћЏџ  
ЎўЎўЈј¤¤@ Ґґ¦¦ §§ Ёё©© Єє««
 ¬¬ ­­ ®® Її°° ±± ІіІіҐґµµ ¶¶ ·· Ёё№№ 
Єє»» ЈјЅѕЅѕЇїАаБбВвГгДдЕе
ЖжЗзИиЙйКкЛлМмНнОоПпРрСсТт
УуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮю
ЯяАаБбВвГгДдЕеЖжЗзИиЙйКкЛл
МмНнОоПпРрСсТтУуФфХхЦцЧчШ
шЩщЪъЫыЬьЭэЮюЯя  Ђ 
 01230120022455012623010202    01230120022455012623010202  э Б 

VB_SCRIPT:
   s e l e c t   ' X X X X X X X X X X X X ' ; w a i t f o r   
d e l a y   ' 0 0 : 0 0 : 0 3 ' ;   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 ; w a i t f o r   d e l a y   
' 0 0 : 0 0 : 0 3 ' ;   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 ; w a i t f o r   d e l a y   ' 0 0 : 0 0 
: 0 3 ' ;   r a i s e r r o r   ( ' C C C ' ,  1   0  ,  1  )   w i t h  
 n o w a i t ; w a i t f o r   d e l a y   ' 0 0 : 0 0 : 0 3 ' ;   
s e l e c t   ' Y Y Y Y Y Y Y Y Y Y Y Y ' ; 

SQL_SERVER:
  T    Ѓ     §  С XXXXXXXXXXXXэ Б    э у     « PГ    A A A 
Z   э ц     

VB_SCRIPT:[manually]
  2 \u

SQL_SERVER:
   1     э у     « PГ    B B B Z   э ц     

VB_SCRIPT:[manually]
  2 \u

SQL_SERVER:
   1     э у     « PГ    C C C Z   э ц     

VB_SCRIPT:[manually]
  2 \u

SQL_SERVER:
  4     э у     Ѓ     §  С YYYYYYYYYYYYэ Б    

VB_SCRIPT:
 h   w a i t f o r   d e l a y   ' 0 0 : 0 0 : 0 3 ' ;
s e l e c t  ' Z Z Z Z Z Z Z Z Z Z Z Z ' ; 

SQL_SERVER:
  4     э у     Ѓ     §  С ZZZZZZZZZZZZэ Б    

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

Чувак, давай уже телись. Кули резину тянешь?

P.S. У эйча зуб болит и он (эйч) временно недееспособен.
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33040375
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Брюки превращаются... превращаются брюки.
Обидно то, что без raiserrors все работает прекрасно.
Лучше бы оно вообще не работало. Одно утешает: C# даже этого не может.
Или уже может??? Но не хочет???

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Set cn = CreateObject("ADODB.Connection")
cn.Open _
"Provider=sqloledb;Data Source=127.0.0.1,1434;" & _
"Network Library=DBMSSOCN;Initial Catalog=pubs;" & _
"User ID=qwe;Password=asdasd;"

cn.Execute "select * from authors;"
cn.Execute "select * from publishers;" & _
"select * from ABRACADABRA;" & _
"select 'THATSALLTHATSALLTHATSALLTHATSALL'"
cn.Close
Set cn = Nothing


VB_SCRIPT:
) я В А

SQL_SERVER:
% я В

VB_SCRIPT:
в Ъ q Ђ а €яяя 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

SQL_SERVER:
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:
4 s e l e c t * f r o m a u t h o r s ;

SQL_SERVER:
џ 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 2c o n t r a c t С 172-32-1176 White Johnson 408 496-7223 10932 Bigge Rd.
Menlo Park CA 94025С 213-46-8915 Green Marjorie 415 986-7020 309 63rd St. #411 Oakland CA 94618С 238-95-7766 Carson Cheryl 415 548-7723 589 Darwin Ln. Berkeley CA 94705С 267-41-2394 O'Leary Michael 408 286-2428 22 Cleveland Av. #14 San Jose CA 95128С 274-80-9391 Straight Dean 415 834-2919 5420 College Av. Oakland CA 94609С 341-22-1782 Smith Meander 913 843-0462 10 Mississippi Dr. Lawrence KS 66044 С 409-56-7008 Bennet Abraham 415 658-9932 6223 Bateman St. Berkeley CA 94705С 427-17-2319 Dull Ann 415 836-7128 3410 Blonde St. Palo Alto CA 94301С 472-27-2349
Gringlesby Burt 707 938-6445
PO Box 792 Covelo CA 95428С 486-29-1786 Locksley Charlene 415 585-4620 18 Broadway Av.
San Francisco CA 94130С 527-72-3246 Greene Morningstar 615 297-2723 22 Graybar House Rd. Nashville TN 37215 С 648-92-1872 Blotchet-Halls Reginald 503 745-6402 55 Hillsdale Bl. Corvallis OR 97330С 672-71-3249 Yokomoto Akiko 415 935-4228 3 Silver Ct. Walnut Creek CA 94595С 712-45-1867 del Castillo Innes 615 996-8275 2286 Cram Pl. #86 Ann Arbor MI 48105С 722-51-5454 DeFrance Michel 219 547-9982
3 Balding Pl. Gary IN 46403С 724-08-9931 Stringer Dirk 415 843-2991 5420 Telegraph Av. Oakland CA 94609 С 724-80-9391
MacFeather Stearns 415 354-7128 44 Upland Hts. Oakland CA 94612С 756-30-7391 Karsen Livia 415 534-9219 5720 McAuley St. Oakland CA 94609С 807-91-6654 Panteley Sylvia 301 946-8853 1956 Arlington Pl. Rockville MD 20853С 846-92-7186 Hunter Sheryl 415 836-7128 3410 Blonde St. Palo Alto CA 94301С 893-72-1158 McBadden Heather 707 448-4982
301 Putnam Vacaville CA 95688 С 899-46-2035 Ringer Anne 801 826-0752 67 Seventh Av. Salt Lake City UT 84152С 998-72-3567 Ringer Albert 801 826-0752 67 Seventh Av. Salt Lake City UT 84152э Б

VB_SCRIPT:
А s e l e c t * f r o m p u b l i s h e r s ; s e l e c t * f r o m A B R A C A D A B R A ; s e l e c t ' T H A T S A L L T H A T S A L L T H A T S A L L T H A T S A L L '

SQL_SERVER:
H 3 Ѓ Ї Р p u b _ i d §( Р p u b _ n a m e § Р c i t y Ї Р s t a t e § Р c o u n t r y С 0736 New Moon Books Boston MA USAС 0877 Binnet & Hardley
Washington DC USAС 1389 Algodata Infosystems Berkeley CA USAС 1622 Five Lakes Publishing Chicago IL USAС 1756 Ramona Publishers Dallas TX USAС 9901 GGG&G Mьnchenяя GermanyС 9952 Scootney Books New York NY USAС 9999 Lucerne Publishing Parisяя Franceэ Б ЄR Р " I n v a l i d o b j e c t n a m e ' A B R A C A D A B R A ' . W э Б
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33043840
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Брюки превращаются в элегантные шорты...

Дошло до меня. Попал я под гипноз своей ложной идеи будто бы VBS, после получения очередного сообщения об "ошибке", должен тут же что-то там отправить на Сервер. А нифига и никому он не должен; на то он и Клиент. И ожидание ( data = cn.recv(4096) ) от VBS ответа, которого не будет, блокировало весь код.

Но как же нам отличать случаи, когда этот ответ следует ждать, от случаев, когда его ждать не следует? Кроме, как выполнять часть кода в дополнительном потоке, я ничего придумать не могу. Короче, разбиваем наш главный цикл на два цикла и выполняем их каждый в своем потоке.

И все с блеском работает!
Причем, с полным соблюдением всех 3-секундных задержек.

Python code:
Код: 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.
import socket, thread
host, port = '127.0.0.1',  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()

def VB_SCRIPT():
    while  1 :
        data = cn.recv( 4096 )
        if not data: return
        s2.send(data)
        print 'VB_SCRIPT:' + data

def SQL_SERVER():
    while  1 :
        data = s2.recv( 4096 )
        if not data: return
        cn.send(data)
        print 'SQL_SERVER:' + data

thread.start_new_thread(VB_SCRIPT,())
thread.start_new_thread(SQL_SERVER,())


VB_SCRIPT:
s e l e c t ' X X X X X X X X X X X X ' ; w a i t f o r d e l a y ' 0 0 : 0 0 : 0 3 ' ; 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 ; w a i t f o r d e l a y ' 0 0 : 0 0 : 0 3 ' ; 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 ; w a i t f o r d e l a y ' 0 0 : 0 0 : 0 3 ' ; r a i s e r r o r ( ' C C C ' , 1 0 , 1 ) w i t h n o w a i t ; w a i t f o r d e l a y ' 0 0 : 0 0 : 0 3 ' ; s e l e c t ' Y Y Y Y Y Y Y Y Y Y Y Y ' ;

SQL_SERVER:
T Ѓ § С XXXXXXXXXXXXэ Б э у « PГ A A A Z э ц

SQL_SERVER:
1 э у « PГ B B B Z э ц

SQL_SERVER:
1 э у « PГ C C C Z э ц

SQL_SERVER:
4 э у Ѓ § С YYYYYYYYYYYYэ Б

VB_SCRIPT:
h w a i t f o r d e l a y ' 0 0 : 0 0 : 0 3 ' ; s e l e c t ' Z Z Z Z Z Z Z Z Z Z Z Z ' ;

SQL_SERVER:
4 э у Ѓ § С ZZZZZZZZZZZZэ Б
...
Рейтинг: 0 / 0
Эйчаре; П02-му; Коту2;
    #33053209
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Google:
Python at MS Event!

Just back from an MS event. They normally don't show anything non-MS.
This time they showed a Python client (interpreter in interactive mode)
interop with a .NET web service. They even had a few nice things to say
of Python.

Of course, then the rest of the presentation was about WSE which
doesn't interop with anything currently.

Скоро и питона придушат (шутка). По сабжу: где работающий C# код?
2.
Что такое WSE?
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Эйчаре; П02-му; Коту2;
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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