Boas práticas para conexão no banco

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

RobinsonRenato
Usuário Nível 1
Usuário Nível 1
Mensagens: 1
Registrado em: 10 Jan 2019 14:21
Localização: São Paulo / SP

Boas práticas para conexão no banco

Mensagem por RobinsonRenato »

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 !!!!!
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Boas práticas para conexão no banco

Mensagem por alxsts »

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 ... e&ie=UTF-8
https://stackoverflow.com/questions/276 ... accessible
https://www.codeproject.com/Articles/17 ... onnections

Boa sorte!
[]´s
Alexandre Santos (AlxSts)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Boas práticas para conexão no banco

Mensagem por cjp »

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
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Boas práticas para conexão no banco

Mensagem por JoséQuintas »

É 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 mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Boas práticas para conexão no banco

Mensagem por cjp »

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
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Boas práticas para conexão no banco

Mensagem por JoséQuintas »

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 mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder