Exportar Reorg GeneXus Java

Para rodar uma reorg de GeneXus Java via linha de comandos devemos seguir os seguintes passos:

1) Quando executamos uma reorg na base de conhecimento (KB) temos que exportar ela para depois poder ser executada em produção.
Para isto depois de rodar em GeneXus a Reorg executamos o WinDeveloperMenu.
Selecionamos a Opção Utilities/Export Rerorganization

O que precisamos ou o que poderíamos mudar?
Filename: Nome que queremos dar a nosso .jar por exemplo c:\demoreorg\Reorg0001.jar

JDBC URL: Os dados de string de conexão ao banco de dados ou servidor (ip), porta, instancia de banco de dados,
por exemplo jdbc:oracle:thin:@SERVIDOR_TESTE:1521:xe

JDBC Driver: Driver de banco de dados da plataforma de produção, por exemplo oracle.jdbc.driver.OracleDriver

User: usuário de banco de dados que vai rodar a reorg

Password: senha de usuário de banco de dados que vai rodar a reorg

Include configuration file in JAR, isto vai incluir o arquivo reorg.cfg com os dados escritos acima.

2) O .jar gerado em nosso exemplo Reorg0001.jar foi criado na pasta c:\demoreorg
Para executar esta reorg nesta pasta, temos que copiar a esta pasta o jar do banco de dados, em nosso exemplo Oracle, por isso usamos classes12.jar e o gxclassr.jar

3) Setamos o classpath para a pasta que pensamos rodar a reorg para evitar conflitos
set classpath=c:\demoreorg

4) E executamos a reorg com o seguinte comando:
java -cp .\Reorg0001.jar;.\classes12.jar;.\gxclassr.jar; Reorganization -force

5) Se for o caso depois de ter exportado a reorg por primeira vez, e queremos rodar ela em outro banco de dados el por algum motivo, não podemos usar o WinDeveloper Menu.
Por exemplo, no caso que já tenhamos executado outras reorgs, temos algumas alternativas para poder fazer isto.

Na verdade o que precisamos é alterar o reorg.cfg com os dados do novo servidor ou banco de dados.

Para isto renomeamos o arquivo Reorg0001.jar a Reorg0001.zip

Descompactamos ele e vamos encontrar o arquivo Reorg.cfg dentro.

Editamos o arquivo e procuramos o datastore que queremos alterar, por exemplo [default|DEFAULT]
Se quero mudar o usuário procuro a linha USER_ID= e coloco o usuário (é válido colocar sem encriptar também)
Se quero mudar o servidro procuro a linha DB_URL= e altero os dados que preciso
Se quero mudar a senha procuro a linha USER_PASSWORD= e coloco a nova senha (é válido colocar sem encriptar também)

Logo salvamos este arquivo reorg.cfg e reconstruímos o .zip novamente Reorg0001.zip, logo renomeamos ele por .jar e executamos novamente a reorg com o comando visto no ponto 4)

6) Se queremos fazer a mesma coisa do ponto 5) mas com o usuário e a senha encriptada podemos usar o utilitário de GeneXus que encripta qualquer .cfg
Para isto assumindo que já renomeei o Reorg0001.jar para .zip e descompactei ele, e tenho o arquivo Reorg.cfg na pasta c:\demoreorg

Executamos
set classpath=c:\demoreorg
java com.genexus.PasswordChanger -file:reorg.cfg -namespace:default -datastore:DEFAULT -user:usuario_encriptado -password:senha_encriptada

Alguns parâmetros são opcionais.
Para mais informação ver o SAC

Espero este post seja de utilidad.

Fabricio De los Santos
Gerência de Projetos – Consultoria GeneXus –
ERP – Sistemas de Missão Crítica – Bancos de Dados.

Veja meus blogs em:
www.fabriciodelossantos.com

Leave a Reply

You must be logged in to post a comment.