PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → E quando se tem mais de uma conexão na análise?
E quando se tem mais de uma conexão na análise?
Iniciado por Boller, jun., 28 2023 5:18 PM - 2 respostas
Membro registado
3.659 mensagems
Popularité : +175 (223 votes)
Publicado em junho, 28 2023 - 5:18 PM
E quando se tem mais de uma conexão na análise você pode usar esse seguinte código na global do init do projeto:

IF InTestMode() THEN

HOpenConnection(Dbdev)
HChangeConnection("*",Dbdev)

ELSE

HOpenConnection(DbProducao)
HChangeConnection("*",DbProducao)

END

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membro registado
3.659 mensagems
Popularité : +175 (223 votes)
Publicado em julho, 30 2023 - 7:55 PM
//Outro exemplo

//Hmodifystructure : altera a estrutura das tabelas no teu cliente convertendo tabelas, criando colunas na versao 2, excluindo colunas na versao 3, criando relacionamentos e suas chaves 🔑 primarias e estrangeiras…

//Hcreationifnotfound: cria as tabelas que não tem no teu cliente

//Isso deve ser ANTES de ABRIR a CONEXÃO, pois é uma instrução ao abrir a conexão

//Isso vale no HFSQL, Para a base de dados PostgreSQL, foi criada uma classe oop que faz o Hmodifystructure e Hcreationifnotfound e o fonte está no repositório oficial juntamente com a classe Hibernate pra Mysql. A comunidade pode pegar essas duas classes para outros bancos de dados.

Outro detalhe importante quando vai ter uma base local igual a base de produção o codigo deve ficar assim:

//As linhas magicas

Hmodifystructure (*)

Hcreationifnotfound (*)

IF InTestMode() THEN

HOpenConnection(Dbdev)
HChangeConnection("*",Dbdev)

ELSE

HOpenConnection(DbProducao)
HChangeConnection("*",DbProducao)

END


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membro registado
3.659 mensagems
Popularité : +175 (223 votes)
Publicado em julho, 30 2023 - 10:18 PM




E quando tem mais de um banco e conexões diferentes na mesma analise, como fazer a conexão?

Isso também não é bem explicado no help, mas funciona:

A solução colocar as tabelas dentro de Folders e atribuir em USE BY da conexao que as tabelas daquele folder sao de um tipo de banco de dados PROVIDER ou se são de outro local onde estão armazenados com HOST DIFERENTE.

Entao primeira coisa criar os folder:

FOLDER_LOCAL = celular

FOLDER_SERVER = servidor

adicionar as tabelas dentro do folder e atribuir em USE BY as tabelas.

Depois na GLOBAL DO PROJETO INIT CODE:


//As linhas magicas

Hmodifystructure (FOLDER_LOCAL)

Hcreationifnotfound (FOLDER_LOCAL)

IF InTestMode() THEN

HOpenConnection(Dbdev)
HChangeConnection(FOLDER_LOCAL,Dbdev)

ELSE

HOpenConnection(DbProducao)
HChangeConnection(FOLDER_LOCAL,DbProducao)

END




Hmodifystructure (FOLDER_SERVER)

Hcreationifnotfound (FOLDER_SERVER)

IF InTestMode() THEN

HOpenConnection(Dbdev)
HChangeConnection(FOLDER_SERVER,Dbdev)

ELSE

HOpenConnection(DbProducao)
HChangeConnection(FOLDER_SERVER,DbProducao)

END

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/