Добрый день.
Помогите достать выходной параметр из ХП.
Перечитал все что мог - не получается.
Текст процедуры:
USE [oktell]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
ALTER PROCEDURE [dbo].[_custom_PathToRecord]
@id uniqueidentifier,
@result nvarchar(500) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
declare @aln nvarchar(10)
declare @bln nvarchar(10)
declare @idrecdir int
declare @ts nvarchar(50)
declare @path nvarchar(1000)
declare @filename nvarchar(1000)
select top 1 @aln=case when alinenum>blinenum then blinenum else alinenum end, @bln=case when blinenum>alinenum then blinenum else alinenum end, @idrecdir=idrecdir, @ts=replace(convert(nvarchar(10), TimeStart, 121), '-', '_')+'__'+replace(convert(nvarchar(20), TimeStart, 114), ':', '_') from [oktell].[dbo].[A_Stat_Connections_1x1]
where cast (Id as varchar(36))=@id and isrecorded=1
set @path='C:\Program Files\oktell\Server\RecordedFiles'
if (@idrecdir>0)
select @path=path from [oktell_settings].[dbo].[A_Stat_RecordDirectories] where id=@idrecdir
set @filename=@path+replace(substring(@ts, 1, 10), '_', '')+''+substring(@ts, 13, 2)+substring(@ts, 16, 2)+'\mix_'+@aln+'_'+@bln+'__'+@ts+'.wav'
set @result=@filename
END
в Студии запрос
Use oktell
Declare @Result nvarchar(1000)
Declare @id uniqueidentifier
set @id = convert(uniqueidentifier, '27795F41-E3BE-42A6-BBE5-34F48602459F')
exec dbo._custom_PathToRecord @id ,@Result Output
select @Result as Result
выдает результат - D:\Records\201206171133\mix_13030_17011__2012_06_17__11_33_40_467.wav
таким запросом из 1с я получаю нужный результат в виде строки ТЗ, но этот как временное решение:
ТекстЗапроса = "
|Declare @answer nvarchar(1000)
|Declare @id uniqueidentifier
|set @id = convert(uniqueidentifier, '27795F41-E3BE-42A6-BBE5-34F48602459F')
|exec dbo._custom_PathToRecord @id, @answer Output
|select @answer as Result
|";
Recordset_Oktell.Подготовить(ТекстЗапроса); тз=Recordset_Oktell.ВыполнитьИнструкцию(ТекстЗапроса,тз);
тз.ВыбратьСтроку();
а вот как получить выходной параметр через ДобПараметр(2 - не знаю
перепробовал все возможные варианты - всегда на выходе количество параметров 0
с этим сталкиваюсь 2-3 раз - прошу не пинать
Спасибо