Разработчики создали веб-сервис, который возвращает JSON с данными сотрудника, мне нужно заполнить или заполнить представление его данными.
Новые бизнес-требования требуют от нас предотвращения прямого соединения БД с БД, поэтому мне придется обходиться без связанных серверов :(
USE [test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[EMP]
AS
BEGIN
set nocount on
SET FMTONLY OFF
DECLARE @status int
DECLARE @responseText as table(responseText varchar(max))
DECLARE @res as Int;
DECLARE @url as nvarchar(1000) = 'http://websrvtst2:8086/ENFER_API/api/DatosEmpleado'
EXEC sp_OACreate 'MSXML2.ServerXMLHTTP.3.0', @res OUT
EXEC sp_OAMethod @res, 'open', NULL, 'GET',@url,'false'
EXEC sp_OAMethod @res, 'send'
EXEC sp_OAGetProperty @res, 'status', @status OUT
INSERT INTO @ResponseText (ResponseText) EXEC sp_OAGetProperty @res, 'responseText'
EXEC sp_OADestroy @res
DECLARE @json AS NVARCHAR(MAX)
SELECT @json = responseText FROM @responseText
SELECT * FROM
OPENJSON(@json)--, N'$.elements')
WITH (
[planta] nvarchar(max) N'$.planta' ,
[codempleado] nvarchar(max) N'$.codempleado',
[Sexo] nvarchar(max) N'$.Sexo',
[FechaNac] nvarchar(max) N'$.FechaNac',
[FullName] nvarchar(max) N'$.FullName',
[Plaza] nvarchar(max) N'$.Plaza',
[Identidad] nvarchar(max) N'$.Identidad',
[ISSS] nvarchar(max) N'$.ISSS',
[Razon_Social] nvarchar(max) N'$.Razon_Social',
[Departamento] nvarchar(max) N'$.Departamento',
[Jornada] nvarchar(max) N'$.Jornada',
[Unidad] nvarchar(max) N'$.Unidad',
[Celda] nvarchar(max) N'$.Celda',
[Operacion] nvarchar(max) N'$.Operacion',
[Make] nvarchar(max) N'$.Make'
)
RETURN 0
END
при выполнении: EXEC [TEST]. [DBO] .EMP возвращает данные в виде сетки
Я ожидаю, что смогу выбрать вид и получить эту сетку взамен.