Имя: Пароль:
IT
Админ
Что не так в скрипте VBS
0 Franchiser
 
гуру
24.07.18
14:52
Ошибки нет, но и не выполняется. Нужно убивать соединения в SQL.

Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient= 3

const NameDB = "BAZA"

'Убиваем все активные сеансы подключенные к базе NameDB
strQryKill = "DECLARE spid VARCHAR(200) " &VbCrLF&_
"DECLARE @kill_spid VARCHAR(200) " &VbCrLF&_
"DECLARE kill_session CURSOR FOR " &VbCrLF&_
"SELECT spid FROM [master].dbo.sysprocesses " &VbCrLF&_
"WHERE dbid=db_id('"&NameDB&"') " &VbCrLF&_
"OPEN kill_session; " &VbCrLF&_
"FETCH NEXT FROM kill_session INTO spid " &VbCrLF&_
"WHILE @@FETCH_STATUS = 0 " &VbCrLF&_
"BEGIN " &VbCrLF&_
"  SET @kill_spid='KILL ' + spid + char(10) " &VbCrLF&_
"  EXEC (@kill_spid) " &VbCrLF&_
" FETCH NEXT FROM kill_session " &VbCrLF&_
" INTO spid; " &VbCrLF&_
"END; " &VbCrLF&_
"DEALLOCATE kill_session;"



Set con = CreateObject("ADODB.Connection")
con.ConnectionString = "Provider=SQLOLEDB;Data Source=server;Password=1;User ID=user1c;Initial Catalog=MASTER;"


'With con
'.CursorType = adOpenStatic
'.LockType = adLockOptimistic
'.CursorLocation = adUseClient
'End With

con.Open

con.execute(strQryKill)

con.Close
1 МихаилМ
 
24.07.18
14:55
в ssms tsql выполняется ?
2 Franchiser
 
гуру
24.07.18
15:04
да в ssms все работает
3 Franchiser
 
гуру
24.07.18
15:06
Думаю может причина в этой части:
'With con
'.CursorType = adOpenStatic
'.LockType = adLockOptimistic
'.CursorLocation = adUseClient
'End With

или в том что ";" в запросе.

У меня есть такой же запрос с получением RecordSet, там все работает.

А вот когда не нужно получать RS не пойму что нужно поменять
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн