@vchEndereco VARCHAR(MAX), @vchURL AS VARCHAR(MAX), @vchJSON AS VARCHAR(8000), @vchStatus AS VARCHAR(MAX), @intQtdeResultados AS INT, --Mapear JSON @vchJSONResults AS VARCHAR(MAX), @vchJSONResultsGeometry AS VARCHAR(MAX), @vchJSONResultsLocation AS VARCHAR(MAX), @fltLatitude FLOAT, @fltLongitude FLOAT; DECLARE @Body AS VARCHAR(8000) = '{ "token": 987654321 }' SET @vchEndereco = 'Av. Alan Kardec, 1451 - Centro, Bebedouro - SP'; SET @vchURL = 'sda-host.com.br/wp-json/oinb/v1/order-list'-- + @vchEndereco; --OLE Automation é mecanismo para a comunicação entre processos baseado em Component Object Model (COM) --Is the returned object token, and must be a local variable of data type int. This object token identifies the created OLE object and is used in calls to the other OLE Automation stored procedures. EXEC sp_OACreate 'MSXML2.XMLHTTP', @intToken OUT; --Chamada para método OPEN EXEC sp_OAMethod @intToken, 'open', NULL, 'POST', @vchURL, 'false'; Exec sp_OAMethod @intToken, 'setRequestHeader', null, 'Content-Type', 'application/json' Exec sp_OAMethod @intToken, 'setRequestHeader', null, 'CharSet', 'UTF-8' EXEC sp_OAMethod @intToken, 'SETRequestBody', null, 'Body', @body --Chamada para método SEND EXEC sp_OAMethod @intToken, 'send', NULL, @Body; --Chamada para método RESPONSE TEXT EXEC sp_OAMethod @intToken, 'responseText', @vchJSON OUTPUT; --Site para visualizar JSON jsonviewer.stack.hu/ SELECT @vchJSON;
Ando buscando lo mismo y nada, hacer un post o un update pero necesito autenticarme con la api key, el usuario y la contraseña y hasta ahora nada me ha funcionado.
Professor tenho um sistema Delphi com o webservice e agora estamos com o site em WordPress. Preciso de um APi pra usar o mesmo banco nós depois so mesmo tempo. Pode me dá uma dica?
Boa tarde Drausio, Estou usando o exemplo que você passou para exeuctar um WebService WSDL através de uma procedure mas quando executo, o valor da variavel Response é null O que posso estar fazendo de errado ?
Olá Professor, poderia me tirar uma dúvida? Criei uma proc que executa uma API e por coincidência ou não os clientes começaram a reclamar que o banco ficou lento. Pode ter alguma relação ?
Excelente explicacao, mas como devo passar usuario e senha caso a api exija autenticacao?
Obrigado Professor Drausio, quando comecei a programar assistir muitos vídeos seus, e foi de grande ajuda, como é até hj.
Obrigado pessoal pelo feedback.
Acabei de adicionar o arquivo SQL no GitHub caso alguém queira baixar. Está na descrição do vídeo.
Muito bom vídeo, vc tem algum vídeo mostrando como faz pra consumir uma aplicação json mandando por POST com objetos no BODY?
Também é minha dúvida
Gostaria de saber também
DECLARE
@intToken INT,
@vchEndereco VARCHAR(MAX),
@vchURL AS VARCHAR(MAX),
@vchJSON AS VARCHAR(8000),
@vchStatus AS VARCHAR(MAX),
@intQtdeResultados AS INT,
--Mapear JSON
@vchJSONResults AS VARCHAR(MAX),
@vchJSONResultsGeometry AS VARCHAR(MAX),
@vchJSONResultsLocation AS VARCHAR(MAX),
@fltLatitude FLOAT,
@fltLongitude FLOAT;
DECLARE @Body AS VARCHAR(8000) =
'{
"token": 987654321
}'
SET @vchEndereco = 'Av. Alan Kardec, 1451 - Centro, Bebedouro - SP';
SET @vchURL = 'sda-host.com.br/wp-json/oinb/v1/order-list'-- + @vchEndereco;
--OLE Automation é mecanismo para a comunicação entre processos baseado em Component Object Model (COM)
--Is the returned object token, and must be a local variable of data type int. This object token identifies the created OLE object and is used in calls to the other OLE Automation stored procedures.
EXEC sp_OACreate 'MSXML2.XMLHTTP', @intToken OUT;
--Chamada para método OPEN
EXEC sp_OAMethod @intToken, 'open', NULL, 'POST', @vchURL, 'false';
Exec sp_OAMethod @intToken, 'setRequestHeader', null, 'Content-Type', 'application/json'
Exec sp_OAMethod @intToken, 'setRequestHeader', null, 'CharSet', 'UTF-8'
EXEC sp_OAMethod @intToken, 'SETRequestBody', null, 'Body', @body
--Chamada para método SEND
EXEC sp_OAMethod @intToken, 'send', NULL, @Body;
--Chamada para método RESPONSE TEXT
EXEC sp_OAMethod @intToken, 'responseText', @vchJSON OUTPUT;
--Site para visualizar JSON jsonviewer.stack.hu/
SELECT @vchJSON;
th-cam.com/video/93q8joTcRpQ/w-d-xo.html
Olá amigo, já fez a mesma coisa usando banco de dados Oracle.
Estou estudando pra fazer uma procedure pra consumir webservice da nfe via plsql.
Campeão!
Sensacional!!!! Parabéns Drausio!!!
Tem limite de requisições do sqlserver para a api?
Muito obrigado professor por distribuir o seu conhecimento.
Kevin Janczak olha esse desgraçado, só estudando hshshsh
vitor camilo tenho que agradecer, kkkkkkkkkk
Excelente descripcion . Muchas gracias por el video. Una consulta, como hacer en caso de que la API requiera de usuario y clave. Slds
Ando buscando lo mismo y nada, hacer un post o un update pero necesito autenticarme con la api key, el usuario y la contraseña y hasta ahora nada me ha funcionado.
DECLARE
-- Parâmetros de Entrada
@URI varchar(2000) = 'link',
@methodName varchar(50) = 'GET',
@UserName nvarchar(100) = 'login',
@Password nvarchar(100) = 'senha',
@requestBody varchar(8000) = '',
@responseText varchar(8000),
@objectID int
EXEC sp_OACreate 'MSXML2.ServerXMLHTTP', @objectID OUT
EXEC sp_OAMethod @objectID, 'open', NULL, @methodName, @URI, 'false', @UserName, @Password
EXEC sp_OAMethod @objectID, 'send', NULL, @requestBody
EXEC sp_OAGetProperty @objectID, 'responseText', @responseText OUT
PRINT @responseText
Interessante isso.
Você teria um exemplo de como fazer um HTTP do tipo POST passando parametros no body?
th-cam.com/video/93q8joTcRpQ/w-d-xo.html
que showwww. Muito obrigado
Muito sempre com boas aulas obrigado
Professor tenho um sistema Delphi com o webservice e agora estamos com o site em WordPress. Preciso de um APi pra usar o mesmo banco nós depois so mesmo tempo. Pode me dá uma dica?
queria uma explicando com cnpj
Boa tarde Drausio,
Estou usando o exemplo que você passou para exeuctar um WebService WSDL através de uma procedure mas quando executo, o valor da variavel Response é null
O que posso estar fazendo de errado ?
muito obrigada professor
ótima explicação. caso eu queira passar uma chave de API e um JSON como parametro, como devo fazer?
to na mesma
Professor, como faço pra que atraves uma trigger no sql server eu envie uma mensagem via whatsapp ?
Bravo! Bravíssimo!
Muito bom Dráusio
Professor, meu JSON tem mais de 8000, mesmo alterando a variável para Max ele retorna nulo se chamo mais de 8000, como posso resolver ?
Conseguiu resolver esse problema?
consegui ter o retorno usando EXEC @vchJSON = sys.sp_OAGetProperty @intToken, 'responseText'; mas o JSON não vem completo, vem faltando mais da metade
@@davilima-dw6dq Olá vc conseguiu resolver o do tamanho da variável?
th-cam.com/video/93q8joTcRpQ/w-d-xo.html
Olá Professor, poderia me tirar uma dúvida? Criei uma proc que executa uma API e por coincidência ou não os clientes começaram a reclamar que o banco ficou lento. Pode ter alguma relação ?
Show essa apresentação. Porém executando friamente as instruções me retorna "REQUEST_DENIED".
Para quem precisa enviar usuário e senha:
DECLARE
-- Parâmetros de Entrada
@URI varchar(2000) = 'link',
@methodName varchar(50) = 'GET',
@UserName nvarchar(100) = 'login',
@Password nvarchar(100) = 'senha',
@requestBody varchar(8000) = '',
@responseText varchar(8000),
@objectID int
EXEC sp_OACreate 'MSXML2.ServerXMLHTTP', @objectID OUT
EXEC sp_OAMethod @objectID, 'open', NULL, @methodName, @URI, 'false', @UserName, @Password
EXEC sp_OAMethod @objectID, 'send', NULL, @requestBody
EXEC sp_OAGetProperty @objectID, 'responseText', @responseText OUT
PRINT @responseText
bearer token é na mesma pegada também?
Nome de objeto 'OPENJSON' inválido. estou utilizando sqlserver 2016 express alguém sabe por que esta função não esta funcionando
ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = 130
Brabo!!! Obrigado...
Muito legal
excelente
Parabéns