Autor Tópico: [RESOLVIDO] Perdendo a conexão com o banco de dados depois de publicado  (Lida 8039 vezes)

Roma

  • Novato
  • *
  • Mensagens: 26
    • Email
Re:Perdendo a conexão com o banco de dados depois de publicado
« Responder #15 Online: Janeiro 21, 2013, 06:32:27 pm »
O suporte me informou que isso pode ocorrer se as duas aplicações estiverem no mesmo servidor com o mesmo nome de conexão...
então cada aplicação tem que ter um nome de conexão diferente...
mas o mais seguro seria usar navegadores diferentes.. aí nao tem como dar um "bug" de sessão..  tipo..

Pode ser isso. Como utilizo o mesmo BD em duas das aplicações, deixei com o mesmo nome de conexão.
Vou alterar e testar depois informo se corrigiu o problema.

Abraços

Bernhard

  • Administrator
  • Expert
  • *****
  • Mensagens: 1619
Re:Perdendo a conexão com o banco de dados depois de publicado
« Responder #16 Online: Janeiro 22, 2013, 01:52:42 am »
Roma,

Por gentileza nos informe se após a alteração, o problema continua.

att,
Bernhard Bernsmann

Roma

  • Novato
  • *
  • Mensagens: 26
    • Email
Re:Perdendo a conexão com o banco de dados depois de publicado
« Responder #17 Online: Janeiro 22, 2013, 07:49:41 am »
Bom dia pessoal,

Fiz alguns testes durante à noite (demora quase 1 hora para subir cada sistema) e percebi o seguinte:

No  meu ambiente local trabalho na plataforma windows, os 3 projetos funcionam normalmente, abrindo pelo scriptcase.

Já no ambiente final (servidor linux virtual) a estrutura ficou da seguinte forma:
dominio.com/sistema1 (utiliza banco_de_dados1)
dominio.com/sistema2 (utiliza banco_de_dados1)
dominio.com/sistema3 (utiliza banco_de_dados2)

Na primeira vez, executei o prod, através de dominio.com/scriptcase/prod
Gerei as conexões tranquilamente. Utilizava os padroes, pois desconhecia esse detalhe.
conn_mysql -> banco_de_dados1
conn_mysql1 -> banco_de_dados2

Depois de abrir uma vez o sistema, nos outros 2 dava erro por não existir a conexão.

Percebi que existe um prod configurável em cada aplicação na seguinte estrutura:
dominio.com/sistema1/_lib/prod
dominio.com/sistema2/_lib/prod
dominio.com/sistema3/_lib/prod

São todos diferentes. Experimentei criar as conexões em todos eles, mas quando acesso um sistema, os outros 2 deixam de funcionar.
Ou seja, me confundi legal com essa estrutura. Não sei mais o que vale, qual o correto a se configurar:

dominio.com/scriptcase/prod
dominio.com/sistema1/_lib/prod
dominio.com/sistema2/_lib/prod
dominio.com/sistema3/_lib/prod

Alguém poderia dar umas dicas de como deixar correta essa configuração e de que forma o scriptcase enxerga isso?

Abraços.

Allan Medeiros

  • Expert
  • *****
  • Mensagens: 504
    • Email
Re:Perdendo a conexão com o banco de dados depois de publicado
« Responder #18 Online: Janeiro 22, 2013, 09:15:52 am »
Roma,

Se na hora de fazer a publicação no SC você usou o tipo "Típica (recomendada)" então o prod que vale é o que está na pasta "_lib/prod" de cada sistema.
Entretanto, se você usou a opção de publicação " Avançada", aí o prod que vale é o que você configurou durante o processo de configuração.
Eu já tive muitos problemas com a publicação avançada, usando um prod só. Apesar de economizar espaço quando você tem várias aplicações no mesmo servidor, você tem vários outros problemas, como por exemplo o controle da versão do prod.
Usando um prod só, para cada vez que você atualizar o SC e gerar o código para uma nova aplicação, você terá que atualizar o prod desta aplicação. Este prod sendo compartilhado com todas as ouras aplicações isto pode gerar incompatibilidade.
Por estes motivos eu agora estou usando um prod para cada aplicação, ou seja a publicação "Típica (recomendada)".
Espero ter ajudado.
Abraços,
Allan Medeiros
Analista de Informática
__________________________________________
Companhia de Processamento de Dados da Paraíba
medeiros@codata.pb.gov.br

Jean Matos

  • Expert
  • *****
  • Mensagens: 956
    • Gestão de Construtoras
    • Email
Re:Perdendo a conexão com o banco de dados depois de publicado
« Responder #19 Online: Janeiro 22, 2013, 09:22:30 am »
Roma,

Se na hora de fazer a publicação no SC você usou o tipo "Típica (recomendada)" então o prod que vale é o que está na pasta "_lib/prod" de cada sistema.
Entretanto, se você usou a opção de publicação " Avançada", aí o prod que vale é o que você configurou durante o processo de configuração.
Eu já tive muitos problemas com a publicação avançada, usando um prod só. Apesar de economizar espaço quando você tem várias aplicações no mesmo servidor, você tem vários outros problemas, como por exemplo o controle da versão do prod.
Usando um prod só, para cada vez que você atualizar o SC e gerar o código para uma nova aplicação, você terá que atualizar o prod desta aplicação. Este prod sendo compartilhado com todas as ouras aplicações isto pode gerar incompatibilidade.
Por estes motivos eu agora estou usando um prod para cada aplicação, ou seja a publicação "Típica (recomendada)".
Espero ter ajudado.
Abraços,

Exato... acho que a publicação avançada nem deveria existir...
Sc - 6.xxx , 7.xxx e V8
Windows Server 2008 Enterpriser 64 bits
SqlServer 2008 Express 64 bits
Sistema Integrado de Gestão de Construtoras]WaveTOR - Sistema Integrado de Gestão de Construtoras
Teófilo Otoni - MG
(33)8824-2775

Highnik

  • Iniciante
  • **
  • Mensagens: 85
Re:Perdendo a conexão com o banco de dados depois de publicado
« Responder #20 Online: Janeiro 22, 2013, 01:03:52 pm »
Roma,

Também estou tendo vários problemas na publicação, o SC 6 039 no Linux por algum motivo não grava adequadamente as conexões, mas, conseguimos burlar estes problemas fazendo da seguinte maneira:

1) Ao fazer a conexão na primeira vez, ao mudar a senha padrão se dá um logout.
2) No Linux dê pelo menos três comandos seguidos: chmod 777 -R _lib (dentro do seu diretório da aplicação).
3) Acesse a configuração de conexão e faça a primeira conexão, então dê logout novamente.
4) No Linux dê pelo menos três comandos seguidos: chmod 777 -R _lib (dentro do seu diretório da aplicação).
5) Repita as operações do item 3 à 4 para cada conexão criada.

Não sei explicar o porquê disso, na versão SC6 somente é efetivada as conexões fazendo-se este procedimento.



Espero ter ajudado.

Att.
Flávio





Roma

  • Novato
  • *
  • Mensagens: 26
    • Email
Re:Perdendo a conexão com o banco de dados depois de publicado
« Responder #21 Online: Janeiro 23, 2013, 08:36:11 am »
Bom dia Pessoal,

Conforme vou testando, postarei aqui os resultados, para que sirva de documentação para quem futuramente passar pelo mesmo tipo de problema.

Alterei em cada sistema as conexões ao banco de dados, ficando assim:
sistema1 -> conn_sistema1
sistema2 -> conn_sistema2
sistema3 -> conn_sistema3

Onde tinha referencias a conn_mysql alterei para a conexão atual.

Deletei no ambiente de trabalho local a conexão conn_mysql, e executei os 3 sistemas, para ver se daria erro em algum lugar, caso eu tivesse esquecido de alterar nos fontes, trocando de conn_mysql para conn_sistemax. Funcionou tudo perfeitamente.

Gerei os 3 sistemas novamente, na forma padrão (para que o prod seja configurado independentemente em cada sistema).
Subi os sistemas para o servidor e fui aos testes:

Deletei em cada sistema as conexões (estava usando conn_mysql) e deixei o próprio sistema avisar que as conexões não existiam, para criá-las.

sistema1 -> funcionou perfeitamente, solicitando a conexao conn_sistema1
depois o sistema rodou perfeitamente

sistema2 -> funcionou perfeitamente, solicitando a conexão conn_sistema2
depois o sistema rodou perfeitamente

sistema3 -> solicitou a conexão conn_sistema3 e conn_mysql
mesmo não achando a referência para conn_mysql nos fontes, criei a conexão conforme solicitado
o sistema funcionou perfeitamente, até que fechei o navegador e abri novamente.

Depois disso, o problema da falta de conexões voltou, não rodando mais nem sistema2 e nem sistema3.

sistema1 continua funcionando perfeitamente.

Me parece que ainda existe alguma referência a conn_mysql no sistema3 e isso está causando todo o transtorno, bugando a conexão também do sistema2.

A dica que deixo para os que forem criar um novo projeto e estão começando agora com o scriptcase como eu:
nunca utilizem o mesmo nome de conexão para projetos distintos, pois o scriptcase é falho no gerenciamento destas conexões.
Mesmo sendo o mesmo nome de conexão, deveriam trabalhar totalmente independentes um do outro.

Qualquer novidade hoje nos testes, atualizo o tópico.

Abraços

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Perdendo a conexão com o banco de dados depois de publicado
« Responder #22 Online: Janeiro 23, 2013, 09:20:00 am »
Roma, quando tive problemas com isso simplesmente criei subdomínios para cada sistema e nunca mais tive estes problemas relacionados a sessão e perda de conexão.

Outra possibilidade é o diretório _lib não estar com permissões adequadas, bem com o diretório conf que fica dentro dele, ou seja o sistema funciona quando você cria a conexão porque os dados permanecem em sessão após sair a sessão é derrubada e o sistema não encontra mais os dados visto que o diretório não tem o arquivo de configuração dentro devido a falta de permissão. (estou especulando)

Roma

  • Novato
  • *
  • Mensagens: 26
    • Email
Re:Perdendo a conexão com o banco de dados depois de publicado
« Responder #23 Online: Janeiro 23, 2013, 09:49:41 am »
As permissões da pasta _lib e conf estão como 0755 em todos os sistemas, não acredito que seja isso.

Não entendi a co-relação dos subdomínios, se puder explicar no que influenciaria para eu entender melhor.

Lembrando que no caso, os 3 sistemas acessam o mesmo banco de dados em determinado momento:

sistema1 -> Gerencial da empresa
sistema2 -> cliente faz login de acordo com o gerencial e consulta seu financeiro dentro do gerencial.
sistema3 -> cliente faz login pelo gerencial mas trabalha em outro banco de dados próprio da empresa do cliente

A única conexão manual que faço no sistema3 que poderia ter algum erro, é no momento do login, sc_select($sql,$conexao3) antes estava como sc_select($sql,$conn_mysql)

Ainda acho que seja alguma referência a conn_mysql que esteja gerando o problema. Vou re-analisar o sistema3 todo para ver se encontro.

Abraços






Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1658
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:Perdendo a conexão com o banco de dados depois de publicado
« Responder #24 Online: Janeiro 23, 2013, 10:21:55 am »
Sempre uma sessão é criada por dominio em um sistema e ela se mantém até você fechar o navegador ou a conexão expirar no servidor.
Quando há vários sistemas em um domínio é comum ao mudar de sistema no mesmo navegador ocorrer a perda de conexão pois a sessão é a mesma e irá prevalecer os dados de um ou outro sistema.
Quando tem subdomínios são geradas sessões para cada subdomínio.
Logo ao entrar em cada sistema como são sessões diferentes, mesmo que esteja no mesmo navegador, não haverá conflito dos dados entre os sistemas.
Espero ter explicado de forma simples.
isto já foi discutido em outros tópicos e dado como solucionado.
Ver: http://www.netmake.com.br/forum/index.php/topic,6074.msg27944.html#msg27944
http://www.netmake.com.br/forum/index.php/topic,5609.msg26954.html#msg26954
« Última modificação: Janeiro 23, 2013, 10:27:11 am por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Roma

  • Novato
  • *
  • Mensagens: 26
    • Email
Re:Perdendo a conexão com o banco de dados depois de publicado
« Responder #25 Online: Janeiro 23, 2013, 10:36:53 am »
Sempre uma sessão é criada por dominio em um sistema e ela se mantém até você fechar o navegador ou a conexão expirar no servidor.
Quando há vários sistemas em um domínio é comum ao mudar de sistema no mesmo navegador ocorrer a perda de conexão pois a sessão é a mesma e irá prevalecer os dados de um ou outro sistema.
Quando tem subdomínios são geradas sessões para cada subdomínio.
Logo ao entrar em cada sistema como são sessões diferentes, mesmo que esteja no mesmo navegador, não haverá conflito dos dados entre os sistemas.
Espero ter explicado de forma simples.
isto já foi discutido em outros tópicos e dado como solucionado.
Ver: http://www.netmake.com.br/forum/index.php/topic,6074.msg27944.html#msg27944
http://www.netmake.com.br/forum/index.php/topic,5609.msg26954.html#msg26954

Obrigado Alexandre, bastante esclarecedor. Vou ler a respeito e fazer as devidas alterações.

Roma

  • Novato
  • *
  • Mensagens: 26
    • Email
Re:Perdendo a conexão com o banco de dados depois de publicado
« Responder #26 Online: Janeiro 23, 2013, 10:53:35 am »
Realmente a dica dos sub-domínios funcionou perfeitamente.
Bastou criar os sub-domínios e acessar os sistemas através dos respectivos, sem precisar alterar qualquer outra coisa nos sistemas.

Rodou 100%, agradeço pela ajuda de todos.

Abraços.