Como Consumir Web Service Api direto no SQL Server e Mapear JSON

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ธ.ค. 2024

ความคิดเห็น • 48

  • @lagoawb
    @lagoawb 2 ปีที่แล้ว +5

    Excelente explicacao, mas como devo passar usuario e senha caso a api exija autenticacao?

  • @danielpereira2998
    @danielpereira2998 4 ปีที่แล้ว +1

    Obrigado Professor Drausio, quando comecei a programar assistir muitos vídeos seus, e foi de grande ajuda, como é até hj.

  • @professordrausio
    @professordrausio  7 ปีที่แล้ว +5

    Obrigado pessoal pelo feedback.
    Acabei de adicionar o arquivo SQL no GitHub caso alguém queira baixar. Está na descrição do vídeo.

  • @lemerenan
    @lemerenan 5 ปีที่แล้ว +3

    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?

    • @GabrielFSouza-fv8dp
      @GabrielFSouza-fv8dp 4 ปีที่แล้ว

      Também é minha dúvida

    • @Otinvinho
      @Otinvinho 4 ปีที่แล้ว

      Gostaria de saber também

    • @afvianna1
      @afvianna1 4 ปีที่แล้ว

      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;

    • @afvianna1
      @afvianna1 4 ปีที่แล้ว +1

      th-cam.com/video/93q8joTcRpQ/w-d-xo.html

  • @eencarnacao
    @eencarnacao 5 ปีที่แล้ว

    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.

  • @pythoncg
    @pythoncg 4 หลายเดือนก่อน

    Campeão!

  • @eliasalvest.i.646
    @eliasalvest.i.646 3 ปีที่แล้ว +1

    Sensacional!!!! Parabéns Drausio!!!

  • @lincolnaraujodias5486
    @lincolnaraujodias5486 4 ปีที่แล้ว +1

    Tem limite de requisições do sqlserver para a api?

  • @kevingood10
    @kevingood10 7 ปีที่แล้ว +1

    Muito obrigado professor por distribuir o seu conhecimento.

    • @stn8407
      @stn8407 7 ปีที่แล้ว

      Kevin Janczak olha esse desgraçado, só estudando hshshsh

    • @kevingood10
      @kevingood10 7 ปีที่แล้ว

      vitor camilo tenho que agradecer, kkkkkkkkkk

  • @gustavomariani4225
    @gustavomariani4225 4 ปีที่แล้ว +1

    Excelente descripcion . Muchas gracias por el video. Una consulta, como hacer en caso de que la API requiera de usuario y clave. Slds

    • @franklinxavierrodriguezsan3359
      @franklinxavierrodriguezsan3359 3 ปีที่แล้ว

      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.

    • @Mixtli_0
      @Mixtli_0 2 ปีที่แล้ว

      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

  • @pedropimentel6569
    @pedropimentel6569 5 ปีที่แล้ว +2

    Interessante isso.
    Você teria um exemplo de como fazer um HTTP do tipo POST passando parametros no body?

    • @afvianna1
      @afvianna1 4 ปีที่แล้ว +1

      th-cam.com/video/93q8joTcRpQ/w-d-xo.html

  • @handreicelsopetersen
    @handreicelsopetersen 5 หลายเดือนก่อน

    que showwww. Muito obrigado

  • @henrygomes12
    @henrygomes12 7 ปีที่แล้ว +1

    Muito sempre com boas aulas obrigado

  • @pedrorangeljr9093
    @pedrorangeljr9093 4 ปีที่แล้ว

    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?

  • @GuilhermeSousa-rc5do
    @GuilhermeSousa-rc5do ปีที่แล้ว

    queria uma explicando com cnpj

  • @fernandolima6773
    @fernandolima6773 5 ปีที่แล้ว

    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 ?

  • @ednamendes4955
    @ednamendes4955 7 ปีที่แล้ว +1

    muito obrigada professor

  • @rodrigostorti1518
    @rodrigostorti1518 3 ปีที่แล้ว

    ótima explicação. caso eu queira passar uma chave de API e um JSON como parametro, como devo fazer?

    • @Mixtli_0
      @Mixtli_0 2 ปีที่แล้ว

      to na mesma

  • @MrLfarah
    @MrLfarah 4 ปีที่แล้ว

    Professor, como faço pra que atraves uma trigger no sql server eu envie uma mensagem via whatsapp ?

  • @Casdias
    @Casdias 7 ปีที่แล้ว +1

    Bravo! Bravíssimo!

  • @lzusilva
    @lzusilva 7 ปีที่แล้ว +1

    Muito bom Dráusio

  • @guilhermemendes8975
    @guilhermemendes8975 5 ปีที่แล้ว +2

    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 ?

    • @davilima-dw6dq
      @davilima-dw6dq 5 ปีที่แล้ว

      Conseguiu resolver esse problema?

    • @davilima-dw6dq
      @davilima-dw6dq 5 ปีที่แล้ว

      consegui ter o retorno usando EXEC @vchJSON = sys.sp_OAGetProperty @intToken, 'responseText'; mas o JSON não vem completo, vem faltando mais da metade

    • @afvianna1
      @afvianna1 4 ปีที่แล้ว

      @@davilima-dw6dq Olá vc conseguiu resolver o do tamanho da variável?

    • @afvianna1
      @afvianna1 4 ปีที่แล้ว

      th-cam.com/video/93q8joTcRpQ/w-d-xo.html

  • @alessandramarquez1695
    @alessandramarquez1695 4 ปีที่แล้ว

    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 ?

  • @AtanaufoRamalho
    @AtanaufoRamalho ปีที่แล้ว

    Show essa apresentação. Porém executando friamente as instruções me retorna "REQUEST_DENIED".

  • @Mixtli_0
    @Mixtli_0 2 ปีที่แล้ว +2

    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

    • @Paulinhaaxb
      @Paulinhaaxb 2 ปีที่แล้ว +1

      bearer token é na mesma pegada também?

  • @KazuoMaezawa
    @KazuoMaezawa 6 ปีที่แล้ว +1

    Nome de objeto 'OPENJSON' inválido. estou utilizando sqlserver 2016 express alguém sabe por que esta função não esta funcionando

    • @EduardoSeixas
      @EduardoSeixas 5 ปีที่แล้ว

      ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = 130

  • @viniciustolentino01
    @viniciustolentino01 7 ปีที่แล้ว +1

    Brabo!!! Obrigado...

  • @alipio20233
    @alipio20233 7 ปีที่แล้ว +1

    Muito legal

  • @tssistemas
    @tssistemas 5 ปีที่แล้ว

    excelente

  • @ChovTec
    @ChovTec 6 ปีที่แล้ว

    Parabéns