Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не могу вернуть результат Хранимой процедуры,из базы 1С / 15 сообщений из 15, страница 1 из 1
30.07.2018, 17:05
    #39681202
YanMalyakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
Привет всем в базе 1С на Sql существует процедура, с помощью которой пытаюсь вернуть из нее результат блокировки 1 или 0


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
USE [SMP_2018]
GO
/****** Object:  StoredProcedure [dbo].[ygmp_1sp_RG1260_TLockX]    Script Date: 07/30/2018 16:50:03 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[ygmp_1sp_RG1260_TLockX] AS
set nocount on declare @i integer select @i=1 from RG1260 WITH (TABLOCKX, HOLDLOCK) where 0=1



если на самой хранимой проц. sql щелкнуть правой кнопкой мыши,и вызвать пункт меню выполнить хранимую процедуру
то процедура возвращает 0


код в 1С стандартный

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
пСтрСоед = "driver={SQL Server};"+"server="+СокрЛП("Test1c")+";"+"uid="+СокрЛП(Login)+"; "+"pwd="+СокрЛП(Password)+";"+"Database="+СокрЛП("SMP_2018");
 
GlobalConnection = Новый COMОбъект("ADODB.Connection"); 
GlobalConnection.Provider = "SQLOLEDB"; 
GlobalConnection.ConnectionTimeout = 15; 
GlobalConnection.CommandTimeOut    = 30; 
GlobalConnection.ConnectionString = пСтрСоед; 
GlobalConnection.Open();
GlobalCommand = Новый COMОбъект("ADODB.Command"); 
GlobalCommand.ActiveConnection = GlobalConnection; 
GlobalCommand.CommandType = 4; 
GlobalCommand.CommandText = "ygmp_1sp_RG1260_TLockX"; 
GlobalRecordSet = GlobalCommand.Execute(); 
NewID = GlobalCommand.Parameters("@i").Value; ///// 
Предупреждение(NewID); 
GlobalConnection.Close(); 



выдает NewID = GlobalCommand.Parameters("@i").Value;
по причине:
Произошла исключительная ситуация (ADODB.Command): В коллекции не удается найти элемент, соответствующий требуемому имени или порядковому номеру.

в самой хранимой процедуре процедуре пробывал ставить Return
что бы вернулся результат но бесполезно,подскажите куда рыть ?
...
Рейтинг: 0 / 0
30.07.2018, 17:09
    #39681204
YanMalyakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
пытаюсь достучаться так
Код: sql
1.
  GlobalCommand.Parameters(0).Value  ///////пишет не определено 
...
Рейтинг: 0 / 0
30.07.2018, 17:10
    #39681205
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
Результат выполнения процедуры содержится в параметре @return_value. Это если вы его предварительно из процедуры верунли командой return.
...
Рейтинг: 0 / 0
30.07.2018, 17:10
    #39681206
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
YanMalyakov,

я не специалист, но в каких случаях что-то вернёт при 0=1
...
Рейтинг: 0 / 0
30.07.2018, 17:23
    #39681213
YanMalyakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
Сергей Алексеевич,подскажите плиз

вот результат выполнения хранимки
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
  

USE [SMP_2018]
GO

DECLARE	@return_value int

EXEC	@return_value = [dbo].[ygmp_1sp_RG1260_TLockX]

SELECT	'Return Value' = @return_value

GO
 возвращает он  0
в 1

 



в Sql делаю так

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
USE [SMP_2018]
GO
/****** Object:  StoredProcedure [dbo].[ygmp_1sp_RG1260_TLockX]    Script Date: 07/30/2018 17:22:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[ygmp_1sp_RG1260_TLockX] AS
set nocount on declare @i integer
declare @return_value integer
 select @i=1 from RG1260 WITH (TABLOCKX, HOLDLOCK) where 0=1
set  @return_value = @i
return  @return_value


блин всё равно не взлетает
...
Рейтинг: 0 / 0
30.07.2018, 17:28
    #39681216
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
YanMalyakov,

Печально...

авторReturn a status value to a calling procedure or batch to indicate success or failure (and the reason for failure).
...
Рейтинг: 0 / 0
30.07.2018, 17:31
    #39681219
YanMalyakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
чего делать то ? ощущение что где то неправильно написал, а где не доходит ......
...
Рейтинг: 0 / 0
30.07.2018, 17:32
    #39681220
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
YanMalyakov,

Если не взлетает в голове, то у вас @i всегда NULL
...
Рейтинг: 0 / 0
30.07.2018, 17:33
    #39681222
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE OR ALTER PROC dbo.a1
AS
	DECLARE @i INT = 1
	SELECT @i = 500 WHERE 1= 0
	RETURN @i

GO

DECLARE	@return_value int

EXEC @return_value = dbo.a1

SELECT	'Return Value' = @return_value
...
Рейтинг: 0 / 0
30.07.2018, 17:38
    #39681226
YanMalyakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
TaPaK,
на самом деле это стандартная процедура в 1С
которая контролирует регистр Остатки товаров

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
USE [SMP_2018]
GO
/****** Object:  StoredProcedure [dbo].[_1sp_RG1260_TLockX]    Script Date: 07/30/2018 17:35:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_1sp_RG1260_TLockX] AS
set nocount on declare @i integer select @i=1 from RG1260 WITH (TABLOCKX, HOLDLOCK) where 0=1



а я только лишь пытаюсь получить из неё результат.
попытался превратить её в такую
не выходит


Код: sql
1.
2.
3.
4.
5.
6.
ALTER PROCEDURE [dbo].[ygmp_1sp_RG1260_TLockX] AS
set nocount on declare @i integer
declare @return_value integer
 select @i=1 from RG1260 WITH (TABLOCKX, HOLDLOCK) where 0=1
set  @return_value = @i
return  @return_value
...
Рейтинг: 0 / 0
30.07.2018, 17:38
    #39681229
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
Значений возврата, у вас в сообщениях написано:

авторThe '...' procedure attempted to return a status of NULL, which is not allowed. A status of 0 will be returned instead.
...
Рейтинг: 0 / 0
30.07.2018, 17:40
    #39681230
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
YanMalyakov,

Я понимаю что одинэсники должны страдать всегда... Но вы можете хоть целый день запускать "стандартную процедуру" которая ничего кроме 0 вернуть не может(разве что сфейлится)
...
Рейтинг: 0 / 0
30.07.2018, 17:49
    #39681237
YanMalyakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
TaPaK,как можно с Вами связаться лично ? к сожалению Ваши контактные данные скрыты.
мне нужна или платная консультация или сотрудничество на платной основе.
суть задачи : с помощью sql нужно распаралелить процессы что бы юзеру выдавалось сообщение о том что
процесс в настояще время занят и он не может осуществлять проведение.
...
Рейтинг: 0 / 0
30.07.2018, 17:52
    #39681238
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
YanMalyakov,

ваш вариант sp_getapplock
...
Рейтинг: 0 / 0
30.07.2018, 17:59
    #39681240
YanMalyakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу вернуть результат Хранимой процедуры,из базы 1С
TaPaK, Спасибо !
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не могу вернуть результат Хранимой процедуры,из базы 1С / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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