Pular para o conteúdo
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #104279
    Avatar de airoospairoosp
    Participante

      Boa noite,

      A procedure abaixo é utilizada para chamar uma DLL externa, é possível salvar em uma tabela os parâmetros que estão sendo passados para a procedure?

      create or replace procedure Encripta(
      pTexto in varchar2,
      pSenha in varchar2,
      pCripto out varchar2)
      as external library cripto_lib
      name “Encripta”
      parameters (pSenha string,
      pTexto string,
      pCripto string);

      Tentei colocar um insert mas não funcionou.

      Ambiente Windows, banco 10g.

      Obrigado.

      Airton

      #104281
      Avatar de Fábio PradoFábio Prado
      Participante

        airoosp,

        Sim , vc pode salvar os parâmetros para chamar a SP em uma tabela, porém se vc quiser executar um SELECT para pegar os dados da tabela e chamar a SP, isso não é possível. VC não consegue chamar SP a partir de instruções SQL. Neste caso, vc teria que transformar a SP em função, ok?

        []s

        Fábio Prado
        http://www.fabioprado.net

        #104282
        Avatar de airoospairoosp
        Participante

          Bom dia,

          Então inclui um insert para gravar os parâmetros mas ai não consegui compilar a procedure.

          create or replace procedure Encripta(
          pTexto in varchar2,
          pSenha in varchar2,
          pCripto out varchar2)
          as external library cripto_lib
          name “Encripta”
          parameters (pSenha string,
          pTexto string,
          pCripto string);

          insert into tab_parametros(Texto, Senha)
          values(pTexto, pSenha);

          commit;

          Pelo que entendi não compila devido ao external library, certo?

          Obrigado.

          Airton

          #104382
          Avatar de josenizjoseniz
          Participante

            Ao usar as external library o Oracle não espera que a procedure tenha um corpo (codificação), ele entende que esta sendo informado apenas o protótipo de uma função/rotina externa.

            Crie uma segunda stored procedure: a partir desta chame a external procedure e faça o INSERT.

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.
          plugins premium WordPress