none
Acionar página HTML após Insert RRS feed

  • Pergunta

  • Após fazer um Insert em uma Tabela no Sql server 2008 preciso acionar uma página html, Tem como fazer isso pelo Sql server?
    quarta-feira, 7 de novembro de 2012 10:25

Respostas

  • Utilize o exemplo que eu dei mesmo e envie para ele todos os parâmetros que você precisa utilizar no seu formulário via get. Ficaria assim:

    -- ...

    -- Gera o insert e salva os parâmetros em variáveis.

    -- ...

    DECLARE @url varchar(300) DECLARE @win int DECLARE @hr int DECLARE @text varchar(8000) -- Definindo a URL SET @url = 'http://www.dominio.com.br/formulario.asp?parametro1=' + @parametro1 + '&parametro2=' + @parametro2 --Mostrar a URL em mensagens print @url EXEC @hr=sp_OACreate 'WinHttp.WinHttpRequest.5.1',@win OUT IF @hr <> 0 EXEC sp_OAGetErrorInfo @win EXEC @hr=sp_OAMethod @win, 'Open',NULL,'GET',@url,'false' IF @hr <> 0 EXEC sp_OAGetErrorInfo @win EXEC @hr=sp_OAMethod @win,'Send' IF @hr <> 0 EXEC sp_OAGetErrorInfo @win EXEC @hr=sp_OAGetProperty @win,'ResponseText',@text OUTPUT IF @hr <> 0 EXEC sp_OAGetErrorInfo @win select @text as result EXEC @hr=sp_OADestroy @win IF @hr <> 0 EXEC sp_OAGetErrorInfo @win


    E nesta sua página ASPX por exemplo você faz o tratamento deste parâmetros para inserir em um formulário. E coloque no body do código HTML:

    <body onload="document.frmConfirmacao.submit()">

    Com isso vc envia os parâmetros para o formulário e o próprio HTML se encarrega de dar o submit.

    Tenta ai.

    Qualquer problema avisa ae.


    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quarta-feira, 7 de novembro de 2012 16:25

Todas as Respostas

  • Pedro,

    Eu precisei acionar uma página ASP estes dias mesmos no final de uma procedure. Veja se o código abaixo resolve o seu problema:

    DECLARE @url varchar(300) DECLARE @win int DECLARE @hr int DECLARE @text varchar(8000) -- Definindo a URL SET @url = 'http://www.dominio.com.br/resetarcache.asp'

    --Mostrar a URL em mensagens print @url EXEC @hr=sp_OACreate 'WinHttp.WinHttpRequest.5.1',@win OUT IF @hr <> 0 EXEC sp_OAGetErrorInfo @win EXEC @hr=sp_OAMethod @win, 'Open',NULL,'GET',@url,'false' IF @hr <> 0 EXEC sp_OAGetErrorInfo @win EXEC @hr=sp_OAMethod @win,'Send' IF @hr <> 0 EXEC sp_OAGetErrorInfo @win EXEC @hr=sp_OAGetProperty @win,'ResponseText',@text OUTPUT IF @hr <> 0 EXEC sp_OAGetErrorInfo @win select @text as result EXEC @hr=sp_OADestroy @win IF @hr <> 0 EXEC sp_OAGetErrorInfo @win

    Mas para mim não faz muito sentido acionar uma página HTML pelo SQL. No meu caso eu acionei a página ASP para resetar o cache de uma aplicação. Qualquer dúvida posta o que você precisa exatamente que a gente dá uma ajuda. 


    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quarta-feira, 7 de novembro de 2012 10:44
  • Bacana o exemplo, só para entender melhor essa procedure, o sp_OAMethod é responsável por executar um método, no exemplo, Open e Send
    quarta-feira, 7 de novembro de 2012 14:02
  • Preciso fazer o seguinte, após dar um Insert eu tenho que montar uma página aspx ou html, tanto faz, e dessa página preciso fazer um Post para um outro sistema com os campos preenchido do último insert, após envio tenho que marcar como enviado esses dados. não conheço uma forma mais indicada de fazer isso, o envio tem que ser nesse padrão de POST

    quarta-feira, 7 de novembro de 2012 15:48
  • Utilize o exemplo que eu dei mesmo e envie para ele todos os parâmetros que você precisa utilizar no seu formulário via get. Ficaria assim:

    -- ...

    -- Gera o insert e salva os parâmetros em variáveis.

    -- ...

    DECLARE @url varchar(300) DECLARE @win int DECLARE @hr int DECLARE @text varchar(8000) -- Definindo a URL SET @url = 'http://www.dominio.com.br/formulario.asp?parametro1=' + @parametro1 + '&parametro2=' + @parametro2 --Mostrar a URL em mensagens print @url EXEC @hr=sp_OACreate 'WinHttp.WinHttpRequest.5.1',@win OUT IF @hr <> 0 EXEC sp_OAGetErrorInfo @win EXEC @hr=sp_OAMethod @win, 'Open',NULL,'GET',@url,'false' IF @hr <> 0 EXEC sp_OAGetErrorInfo @win EXEC @hr=sp_OAMethod @win,'Send' IF @hr <> 0 EXEC sp_OAGetErrorInfo @win EXEC @hr=sp_OAGetProperty @win,'ResponseText',@text OUTPUT IF @hr <> 0 EXEC sp_OAGetErrorInfo @win select @text as result EXEC @hr=sp_OADestroy @win IF @hr <> 0 EXEC sp_OAGetErrorInfo @win


    E nesta sua página ASPX por exemplo você faz o tratamento deste parâmetros para inserir em um formulário. E coloque no body do código HTML:

    <body onload="document.frmConfirmacao.submit()">

    Com isso vc envia os parâmetros para o formulário e o próprio HTML se encarrega de dar o submit.

    Tenta ai.

    Qualquer problema avisa ae.


    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quarta-feira, 7 de novembro de 2012 16:25