Clipper On Line • Ver Tópico - Boas práticas para conexão no banco

Boas práticas para conexão no banco

Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

 

Boas práticas para conexão no banco

Mensagempor RobinsonRenato » 12 Mai 2021 21:30

Pessoal,
Estou convertendo meu sistema pra C#. Como é um sistema grande eu primeiramente estou migrando toda base de dados de DBF para MySql.

Nesse momento estou fazendo todos os testes com o banco, porém surgiu uma dúvida:
- Quando eu devo abrir e fechar uma conexão ?
A princípio estou abrindo no início do sistema e encerrando no fechamento do sistema.
Pensei também em testar se a conexão está aberta antes de lançar qualquer instrução pro banco, mas estou perdido.

Como vou colocar essa base no AWS essa preocupação aumenta.

Help !!!!!
RobinsonRenato
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 1
Data de registro: 10 Jan 2019 13:21
Cidade/Estado: São Paulo / SP
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Boas práticas para conexão no banco

Mensagempor alxsts » 12 Mai 2021 23:43

Olá!

Seja bem-vindo ao Fórum Robinson. Apesar de membro antigo, é tua primeira mensagem...
RobinsonRenato escreveu:- Quando eu devo abrir e fechar uma conexão ?
A princípio estou abrindo no início do sistema e encerrando no fechamento do sistema.

Esta estratégia é válida dependendo dos recursos disponíveis.
Considere que pode ser necessário executar o sistema em um ambiente que utiliza banco de dados pago. Este cliente possui 50 licenças de conexão simultânea ao banco de dados mas o sistema é acessado por 300 usuários ao mesmo tempo. Neste caso, terá que abrir a conexão, executar o que for necessário e fechar. Existem alguns dispositivos que auxiliam na agilização desta necessidade, conhecidos como pools de conexão.
RobinsonRenato escreveu:Pensei também em testar se a conexão está aberta antes de lançar qualquer instrução pro banco, mas estou perdido.

Você não informa como está conectando ao banco de dados. Suponho que seja com ADO .Net. É possível fazer isto e existem exemplos na internet:

https://www.google.com/search?q=ado.net+test+connection&oq=ado+.net+test+&aqs=chrome.2.69i57j0i22i30l9.16376j0j7&sourceid=chrome&ie=UTF-8
https://stackoverflow.com/questions/2762029/ado-net-faster-way-to-check-if-the-database-server-is-accessible
https://www.codeproject.com/Articles/171817/How-to-easily-test-your-ADO-NET-connections

Boa sorte!
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2945
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Boas práticas para conexão no banco

Mensagempor cjp » 21 Mai 2021 23:58

Sem ter a pretensão de complementar a resposta do alxsts, mas apenas para dar o meu depoimento a respeito: tempos atrás testei abrir uma só conexão e mantê-la aberta durante todo a seção do sistema, mas não deu certo. O Windows fecha a conexão, parece, mas deixa a conexão aberta no servidor, como sleep. Como tenho limite de 100 conexões simultâneas, isso me causava estouro do limite. Na minha experiência, a melhor opção é abrir e fechar a conexão a cada uso.
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1531
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Boas práticas para conexão no banco

Mensagempor JoséQuintas » 22 Mai 2021 12:52

É pra se pensar.

De repente um websevice em json, e nem precisa conexão de banco de dados.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18149
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Boas práticas para conexão no banco

Mensagempor cjp » 22 Mai 2021 22:53

Como seria esse webservice, Quintas? Fiquei curioso. Dei um google, achei json (nunca tinha ouvido falar), mas não entendi o que seria esse webservice em json.
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1531
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Boas práticas para conexão no banco

Mensagempor JoséQuintas » 23 Mai 2021 06:14

json é um formato talvez mais prático que XML.
Com um webservice, ele vai receber as requisições e retornar o que for pedido.
Pode-se dizer que vai tudo retornar como array.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18149
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes




Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro