Compilar objeto do banco

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
rafaeld
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 28 Ago 2006 1:38 pm
Localização: Blumenau - SC

Boa tarde pessoal...

Gostaria de saber algum comando para executar um objeto do banco(package,procedure,trigger) via linha de comando para que possa fazer isto via forms....

No aguardo,

Obrigado!!!!
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Eu não entendi muito bem o que você quer fazer.
Você quer executar uma procedure (por exemplo) via linha de comando do sistema operacional ?

Se é isso, o mais comum é criar um script que rode o SQL*Plus e execute o que voçê quer. Se não for isso, explique melhor o que você quer fazer.
rafaeld
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 28 Ago 2006 1:38 pm
Localização: Blumenau - SC

Seguinte dr_gori,
Na verdade não é o que vou fazer mas por exemplo, lá no forms eu passo por parametro o nome de uma package "AAA0001.pck", com isso,
num evento do forms por exemplo num botão , esta package compile no meu banco que eu vou passar tb como parametro....
mais claro?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Eu acho que você ta procurando o comando FORMS_DDL. Dá uma olhada aqui no forum pra ver se é isso mesmo.
Com ele, você consegue rodar no banco o conteúdo de uma variável. No seu caso, eu imagino que sua variável terá que ser algo assim:

Selecionar tudo

  var := 'exec PRC_SUA_PROCEDURE;'
Se não for isso, dá um grito!
rafaeld
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 28 Ago 2006 1:38 pm
Localização: Blumenau - SC

Pois é, esqueci de mencionar...hehehe
o problema é que queria fazer assim: estou conectado digamos no usuário "eu" no banco "produção" , aí vou passar a package "AAA001.pck" como parametro para o meu comando e compilar no usuário "tu" do banco "desenvolvimento" que tambem teria que passar como parametro....

valeu!!!
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Eu acho que você teria que salvar essa procedure em algum lugar (texto, por exemplo) daí conectar no banco destino e executar a criação...

Mas qual é o objetivo disso?
rafaeld
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 28 Ago 2006 1:38 pm
Localização: Blumenau - SC

fazer um esquema parecido com um liberador de fontes
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Acho que você pode fazer uso da DBMS_METADATA pra recuperar os fontes OU pode ir direto na ALL_SOURCE.

Selecionar tudo

SELECT DBMS_METADATA.GET_DDL('PROCEDURE','sua_proc')
FROM DUAL;
Talvez não seja uma boa idéia aplicar diretamente no banco pois pode ter alguém alterando as informações. Acho que seria melhor criar um texto a partir do original...

Infelizmente, não tenho nada pronto aqui...
rafaeld
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 28 Ago 2006 1:38 pm
Localização: Blumenau - SC

gori, este comando é para recuperar um fonte do banco, na verdade estava querendo pegar um fonte que eu alterei e compilar no banco....
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 31 visitantes