GARANTIR DESCONTO

Fórum Delphi com BD nas nuvens #444860

06/06/2013

0

Ola pessoal, estou com alguns problemas em uma aplicação desenvolvida em delphi7.
Esse aplicativo e um sistema de cadastro, que funciona redondinho aqui na empresa, utilizo o componente Zeos e Mysql, porem houve a necessidade do banco ficar nas nuvens (locaweb), e ai começou os problemas o sistema até conecta, navega entre os registros mas depois de umas 3 trasações (insert, update, delete) é exibida a mensagem de perca de conexão (exception class EZSQLException with message 'SQL Error: MySQL server has gone away').

Alguém conhece alguma forma, para resolver esse problema, ou será que é alguma configuração do zeos.

Obrigado.
Anderson Quinteiro

Anderson Quinteiro

Responder

Post mais votado

06/06/2013

Olha, aqui (http://xoops.net.br/docs/mysql/manual/apas02.php) tem até indicando uma possível solução. Eu, particularmente, não faria dessa forma (aplicativo local x BD na nuvem). Hoje, meus sistemas até rodam na nuvem (locaweb tmb) porém, eu usei um metaframe (MS Terminal Services) onde o aplicativo roda no servidor (Remote App). Para o usuário, isso é imperceptível pois ele vê o aplicativo como se estivesse rodando localmente. Tem me atendido muito bem há um ano.

Bem, é apenas minha modesta opinião. Espero ter ajudado.

Rodolpho Silva

Rodolpho Silva
Responder

Gostei + 1

Mais Posts

06/06/2013

Diego Garcia

amigo, uma sugestão que eu lhe dou é considerar a programação multi camadas..
Responder

Gostei + 0

06/06/2013

Anderson Quinteiro

Muito obrigado Rodolpho, por responder.
Na verdade eu também não acho legal fazer o aplicativo com o BD nas nuvens, mas por falta de conhecimento e como já está pronto pensei em usar assim por esse motivo.
Mas gostei da sua sugestão de usar metaframe.
Agora outras duvidas rsrs
O sistema que você tem é em Delphi?? e roda na locaweb?? como funciona o metaframe?? você tem algum exemplo para que eu possa estudar??

Desde já agradeço.

Abraços
Responder

Gostei + 0

06/06/2013

Anderson Quinteiro

Legal também Diego, eu não tenho muita experiencia nesse tipo de programação, vou dar uma estudada a respeito.
Você teria algum exemplo, para que eu possa estudar??

Muito obrigado

Abraços.
Responder

Gostei + 0

06/06/2013

Diego Garcia

Amigo, no delphi, o jeito mais popular de trabalhar com multi camadas é através do DataSnap, então lhe recomendo pesquisar sobre o uso do DataSnap, mas já lhe adianto que é relativamente bem simples.
Responder

Gostei + 0

06/06/2013

Anderson Quinteiro

valew Diego, vou ver a respeito muito obrigado
Responder

Gostei + 0

06/06/2013

Rodolpho Silva

Como amigo Diego disse, seria muito bom o seus sistema trabalhar em camadas. Bem, o meu sistema é escrito em Delphi7 e ainda na arquitetura cliente / servidor. Como eu precisava de uma solução rápida pois não teria tempo para montar uma arquitetura em camada, eu optei em usar o Metaframe. Um metaframe é simplesmente um programa que permite que programas desktop rode pela internet. Existem vários (Citrix, por exemplo) mas eu uso o Terminal Services da Microsoft. Você pode começar a estudar por TS Remote App, pois o que ele faz é simplesmente reproduzir a tela do software (rodando no servidor) na máquina do cliente. E isso pro cliente fica quase que imperceptível.

O problema é que você terá de contratar usuários que irão acessar o TS. Na locaweb, cada usuário custa R$ 25,00/mês.
Responder

Gostei + 1

06/06/2013

Rodolpho Silva

Como amigo Diego disse, seria muito bom o seus sistema trabalhar em camadas. Bem, o meu sistema é escrito em Delphi7 e ainda na arquitetura cliente / servidor. Como eu precisava de uma solução rápida pois não teria tempo para montar uma arquitetura em camada, eu optei em usar o Metaframe. Um metaframe é simplesmente um programa que permite que programas desktop rode pela internet. Existem vários (Citrix, por exemplo) mas eu uso o Terminal Services da Microsoft. Você pode começar a estudar por TS Remote App, pois o que ele faz é simplesmente reproduzir a tela do software (rodando no servidor) na máquina do cliente. E isso pro cliente fica quase que imperceptível.

O problema é que você terá de contratar usuários que irão acessar o TS. Na locaweb, cada usuário custa R$ 25,00/mês.

Complementando, link do Remote App: http://technet.microsoft.com/pt-br/library/cc753844(v=ws.10).aspx
Responder

Gostei + 0

06/06/2013

Anderson Quinteiro

Obrigadão Rodolpho, vou dar uma estudada sobre o assunto, vou ver o que faço aqui.

Valeu mesmo

Abraços
Responder

Gostei + 0

11/06/2013

M. C.

Olha, aqui (http://xoops.net.br/docs/mysql/manual/apas02.php) tem até indicando uma possível solução. Eu, particularmente, não faria dessa forma (aplicativo local x BD na nuvem). Hoje, meus sistemas até rodam na nuvem (locaweb tmb) porém, eu usei um metaframe (MS Terminal Services) onde o aplicativo roda no servidor (Remote App). Para o usuário, isso é imperceptível pois ele vê o aplicativo como se estivesse rodando localmente. Tem me atendido muito bem há um ano.

Bem, é apenas minha modesta opinião. Espero ter ajudado.


Olá Rodoldo,

Você poderia me dizer como você exatamente você utilizou no desenvolvimento do seu aplicativo? Estou necessitando fazer umas "coisinha" nesse formato e não sei por onde começar.

Grato e aguardo retorno.
Responder

Gostei + 0

11/06/2013

Rodolpho Silva

Olá amigo Aprendiz,

Na verdade, não muito mistério nisso. O desenvolvimento do aplicativo é normal. Não tem nada de especial para funcionar dessa forma. O metaframe é quem se encarrega disso, de cuidar de tudo. A premissa para ter esse serviço é Windows Server 2003+. Existem vários artigos na internet auxiliando como configura o Remote App no Terminal Services. Uma vez que o servidor estiver instalado e configurado, o acesso na máquina cliente dá-se pelo um atalho cujo a extensão é *.rdp. Vai aparecer na sua área de trabalho um ícone, como se o aplicativo estivesse instalado localmente mas na verdade é apenas um atalho para a chamada na máquina servidora. Ao abrir o aplicativo, vai parecer que vc estará rodando localmente mas na verdade o metaframe só estará enviando a imagem do aplicativo rodando no desktop do servidor.

Mais sobre o Remote App: [url]http://technet.microsoft.com/pt-br/library/cc733174(v=ws.10).aspx[/url]
Responder

Gostei + 0

18/06/2013

M. C.

Olá amigo Aprendiz,

Na verdade, não muito mistério nisso. O desenvolvimento do aplicativo é normal. Não tem nada de especial para funcionar dessa forma. O metaframe é quem se encarrega disso, de cuidar de tudo. A premissa para ter esse serviço é Windows Server 2003+. Existem vários artigos na internet auxiliando como configura o Remote App no Terminal Services. Uma vez que o servidor estiver instalado e configurado, o acesso na máquina cliente dá-se pelo um atalho cujo a extensão é *.rdp. Vai aparecer na sua área de trabalho um ícone, como se o aplicativo estivesse instalado localmente mas na verdade é apenas um atalho para a chamada na máquina servidora. Ao abrir o aplicativo, vai parecer que vc estará rodando localmente mas na verdade o metaframe só estará enviando a imagem do aplicativo rodando no desktop do servidor.

Mais sobre o Remote App: [url]http://technet.microsoft.com/pt-br/library/cc733174(v=ws.10).aspx[/url]


Poxa, muito bacana isso!

Será que o colega poderia me passa algum link, tutoral, livros ou coisa do tipo para que eu possa me inteirar melhor sobre o assunto.

Muitíssimo obrigado pela sua atenção e aguardo retorno.

Forte abraço!

Responder

Gostei + 0

18/06/2013

Rodolpho Silva

Olá amigo Aprendiz...

Segue alguns links para ajuda: [url]http://www.youtube.com/watch?v=nBqiVad9aVg[/url] e [url]http://msmvps.com/blogs/msvirtualization/archive/2011/01/12/publicando-aplica-231-245-es-no-remoteapp-server.aspx[/url]
Responder

Gostei + 0

18/06/2013

Marcello Mariano

Não existe nenhum componente delphi que possa fazer isso? quer dizer: Será que o delphi não comporta uma conexão ftp; http ou coisa parecida? Porque eu acho que esse tipo de solução um pouco 'tosca' - sem querer criticar Rodolfo - pois me interesso e muito por aplicativos web - embora não tenha desenvolvido nenhum até agora - mas não vejo essa como um solução prática e confiável...
Responder

Gostei + 0

19/06/2013

Rodolpho Silva

Não existe nenhum componente delphi que possa fazer isso? quer dizer: Será que o delphi não comporta uma conexão ftp; http ou coisa parecida?

R: É importante não misturarmos as coisas. Conexão Delphi com BD geralmente dá-se via protocolo na 3ª camada, o TCP/IP. Http ou ftp é protocolo da 5ª camada e é utilizado para transferência de arquivos (ftp) ou páginas HTML (HTTP). Agora sobre a pergunta, sim, o Delphi suporta conexões FTP e HTTP, além de muitas outras também...

Porque eu acho que esse tipo de solução um pouco 'tosca' - sem querer criticar Rodolfo - pois me interesso e muito por aplicativos web

R: Nem sempre, "tudo" pode rodar na web (entendo como web, aquilo que roda dentro do browser). Um Photoshop, por exemplo, não dá para rodar pela web. E assim digo sobre muitos outros aplicativos. Porém, as vezes sentimos a necessidade de rodar esses aplicativos na internet (entendo com internet aquilo que roda dentro da rede mundial de computadores, não somente na rede local) e como existem fatores que impedem que tal aplicativo rode na web (recursos limitados ou indisponibilidade de tempo para construir uma solução web, por exemplo) é aí onde entra os metaframes onde estes possibilitam a execução destes
aplicativos pela internet, trazendo assim uma solução prática e confiável em curto espaço de tempo. Até existem algumas empresas que fazem o uso de metaframes tais como Petrobrás, Wallmart, Carrefour, Phillips, etc...

embora não tenha desenvolvido nenhum até agora - mas não vejo essa como um solução prática e confiável...

R: Bem, vou responder com base na minha experiência: Em quase 1 ano e meio, a solução nunca falhou ou decepcionou....

Bem, é apenas minha modesta opinião...
Responder

Gostei + 1

19/06/2013

Marcello Mariano

blz, brigadão brow!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar