Cleiton Fidelis

[RESOLVIDO] Conexão com Banco de Dados - Básico Iniciante

7 posts in this topic

Senhores, 

Praticamente é minha primeira pergunta de muitas.
De uma vez por todas, estou iniciando no Windev.
Estou lendo, pesquisando, assistindo vídeos, porém algumas dúvidas básicas que dependem ser entendidas para um proximo passo mais seguro  e correto.

Windev23 + PostGreSql 10
Sequencia básica:
1 - Criei o projeto Windev
2  - Criei o Banco no PosgtreSql (manualmente) pelo PgAdmin...
       P: È obrigatório Criar Manualmente o Banco de Dados pelo PGADMIN ? 
3 - Criei Analysis PostgreSql no Windev e salvei.
4 - No Code de meu Project , Criei a variavel gConexao is Connect como global
5 -Passei os parametros para gConexao..User... Password, provider, databse, Access, Server.
6 -se HOpenconnection("*",gConexao) retornou verdadeiro , logo  Conectou...
7 - HChangeConnection("*",gConexao)
....
Rodei o projeto... e conectou 
Voltei ao projeto e acrescentei na sequencia.
8-hCreationIfNotFound("*")   //Rodei novamente o projeto e criou no pgadmin as tabelas que estavam na Analisys , legal!

A partir daqui obtive erro..
9- Criei um campo em uma tabela na Analysis.
10 - Inseri o comando HmodifyStructure('*')   
11 -Rodei o projeto, retornou erro, que o comando HMODIFYSTRUCTURE é aceito apenas no HFSQL.. 
Não atualizando o PGADMIN.   

Pergunto:
Onde errei ?
Somente é possível alterar pelo HmodifyStructure com HFSQL ?
Qual seria a solução para: Criar o Banco de dados no PGADMIN via programação e atualizar a estrutura das tabelas quando necessário ?
Create Database .....
Alter table TABELA add Column ....


Ou preciso obrigatoriamente gerar o script.sql e roda-lo ?

São perguntas básicas, mas agradeço à quem puder opinar, sugerir, corrigir... enfim,  este é meu primeiro passo no Windev.

Obrigado desde já.




 



 

 


 


 

 

 

1 person likes this

Share this post


Link to post
Share on other sites
23 horas atrás, Cleiton Fidelis disse:

Bom dia Cleiton,

vou te falar como eu faço, talvez alguém faça de outra forma, mas para mim esta funcionnado...
respostas em AZUL 


1 - Criei o projeto Windev
2  - Criei o Banco no PosgtreSql (manualmente) pelo PgAdmin...
       P: È obrigatório Criar Manualmente o Banco de Dados pelo PGADMIN ? 
     
 Eu sempre crio o banco pelo PGADMIN ou pelo EMS SQL MANAGER (ferramenta free para administração de bancos)

4 - No Code de meu Project , Criei a variavel gConexao is Connect como global
5 -Passei os parametros para gConexao..User... Password, provider, databse, Access, Server.
6 -se HOpenconnection("*",gConexao) retornou verdadeiro , logo  Conectou...
7 - HChangeConnection("*",gConexao)

     ok
....
Rodei o projeto... e conectou 
Voltei ao projeto e acrescentei na sequencia.
8-hCreationIfNotFound("*")   //Rodei novamente o projeto e criou no pgadmin as tabelas que estavam na Analisys , legal!
    qualquer manutenção no banco eu faço via PGADMIN ou SQLMANAGER, depois vou na analise do projeto e mando atualizar a Analise
    assim todas as alterações feitas no banco são refletidas na Analise
    veja imagem abaixo:  

A partir daqui obtive erro..
9- Criei um campo em uma tabela na Analysis.
10 - Inseri o comando HmodifyStructure('*')   
11 -Rodei o projeto, retornou erro, que o comando HMODIFYSTRUCTURE é aceito apenas no HFSQL.. 
     Isso mesmo, esse comando não irá funcionar no postgresql, todas as alterações de base faço diretamente no PGadmin


Pergunto:
Onde errei ?
   acho que não errou


Somente é possível alterar pelo HmodifyStructure com HFSQL ?
   Sim, só hfsql
Qual seria a solução para: Criar o Banco de dados no PGADMIN via programação e atualizar a estrutura das tabelas quando necessário ?
   Eu faço essas alterações via script sql, existem várias ferramentas que comparam 2 bases de dados e geram um script com a diferença,
eu uso o EMS DATABASE COMPARER.


São perguntas básicas, mas agradeço à quem puder opinar, sugerir, corrigir... enfim,  este é meu primeiro passo no Windev.
    Se precisar de algo mais pode entrar em contato

Obrigado desde já.




 



 

 


 


 

 

 

 

Sem título.png

1 person likes this

Share this post


Link to post
Share on other sites

Evandro, Bom dia.

Obrigado pela resposta, e pelo tutorial.

Compreendi, então, o PGAdmin fica sendo o "modelo" pra que a Analysis o Importe, tudo que precisa ser alterado, o faz via PGADMIN, e depois atualiza a Analysis.

Andei estudando também o comando Sqlconnect()  com ele, pelo que testei, vou conseguir conectar à DataBase POSTGRES nativa da instalação do PG, e conectado, eu consigo criar minha db via comando CREATE DATABASE....

Talvez assim tb, eu consiga via programação , trabalhar os ALTER TABLE da vida..
Pensando, pensando, estudando.... estudando

Obrigado mais uma vez pela clara resposta amigo.

Abraço

Share this post


Link to post
Share on other sites

Amigo @Evandro Andersen,

 

Fiz uma P.O.G e acho que vai funcionar quando eu precisar.

1 - Pelo comando SqlConnect() eu me conectei ao DataBase postgre , 
2 - Com o comando SqlExec("CREATE DATABASE xxxx") , criei minha database
3 - Desconectei pelo SqlDisconnect()
4 -  Conectei pelo HopenConnect()
Funfou


Fiz uma simulação de um novo campo em uma tabela.
5 - SqlConnect() Novamente
6 - SqlEXec("Select Campo From Tabela")  , retornou 0 (não encontrou o campo)
7 - SqlEXec("Alter Table Tabela Add Campo .....") Bora Criar o campo

E foi de boa, ao menos pelos testes, eu acho que sim.


Creio que exista formas mais fáceis de Resolver isso, porém, como praticamente é meu primeiro contato com tudo isso no Windev,  me dou por satisfeito por hoje.

Abraço
 

 

Share this post


Link to post
Share on other sites

@Cleiton Fidelis

Você pode fazer a criação e a atualização do banco de dentro do windev, usando os comandos SQL como você fez,
eu particularmente prefiro gerar um script SQL e rodar ele usando um .bat
mas essa escolha depende da sua necessidade e do tamanho do seu projeto,
conheço vários programadores que atualizam o banco exatamente como você fez...

então você esta no caminho certo!

Precisando de algo estamos aí

1 person likes this

Share this post


Link to post
Share on other sites
3 horas atrás, Vilani disse:

Assim como o Evandro uso ferramentas de comparação, para SQL Server gosto do APEX, para postgres ja usei da EMS muito boa, outra muito boa é da devart https://www.devart.com/dbforge/postgresql/datacompare/?gclid=Cj0KCQiAn8nuBRCzARIsAJcdIfPqXrmFYSNK5geD9HYOIiD6jH-cTaG2k2HLmJVsFx-uAUDJP5cHJ7IaAiQbEALw_wcB

@Vilani

 obrigado a você também pelas dicas, tudo pra mim é novidade e válido.

Att

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now