Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры t-sql из скрипта VBscript, Recordset не открыт / 5 сообщений из 5, страница 1 из 1
13.10.2019, 19:06
    #39875692
seg856
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов хранимой процедуры t-sql из скрипта VBscript, Recordset не открыт
Нужно в сценарии VBscript вызвать хранимую процедуру к SQL Server 2014, проанализировать результат.

Сценарий на VBscript:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Set connect= CreateObject("ADODB.Connection")
Set resultSet = CreateObject("ADODB.Recordset")
Set cmd = CreateObject("ADODB.Command")
connect.Open("Provider=SQLOLEDB;User ID=root;Password=root;Initial Catalog=Control;Data source=192.168.22.22")
cmd.CommandType = 4
cmd.CommandText = "x_awaiting"
cmd.ActiveConnection = connect
set resultSet= cmd.execute
msgbox resultSet.state

'resultSet.MoveFirst
Do While Not resultSet.eof
  nAwaiting = resultSet.fields(0).value
  msgbox nAwaiting,0
  resultSet.MoveNext
Loop

resultSet.Close
connect.Close
Set connect = Nothing



Хранимая процедура:
Код: sql
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.
ALTER PROCEDURE [dbo].[x_awaiting]

AS

IF OBJECT_ID(N'#tmp','U') IS not NULL
 drop table #tmp;

create table #tmp
(
spid int,
ecid int,
status varchar(50),
loginame varchar(254),
hostname varchar(254),
blk int,
dbname varchar(254),
cmd varchar(254),
request_id int
)

INSERT INTO #tmp
EXEC sp_who

select count(*) as n
from #tmp
where ecid<>0



Сценарий сообщает, что Recordset не открыт.
Где ошибка в Vbscript сценарии?
...
Рейтинг: 0 / 0
13.10.2019, 19:17
    #39875693
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов хранимой процедуры t-sql из скрипта VBscript, Recordset не открыт
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Set connect= CreateObject("ADODB.Connection")
connect.Open("Provider=SQLOLEDB;User ID=root;Password=root;Initial Catalog=Control;Data source=192.168.22.22")
set resultSet = connect.execute( "execute x_awaiting" )

Do While Not resultSet.eof
  nAwaiting = resultSet.fields(0).value
  msgbox nAwaiting,0
  resultSet.MoveNext
Loop

resultSet.Close
connect.Close
Set connect = Nothing
...
Рейтинг: 0 / 0
13.10.2019, 19:42
    #39875698
seg856
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов хранимой процедуры t-sql из скрипта VBscript, Recordset не открыт
White Owl, то же сообщение
...
Рейтинг: 0 / 0
13.10.2019, 20:32
    #39875707
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов хранимой процедуры t-sql из скрипта VBscript, Recordset не открыт
seg856,

добавь в начале ХП set nocount on
...
Рейтинг: 0 / 0
13.10.2019, 21:06
    #39875712
seg856
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов хранимой процедуры t-sql из скрипта VBscript, Recordset не открыт
Спасибо
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры t-sql из скрипта VBscript, Recordset не открыт / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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