20% OFF para compra e renovaÇÃo »

Autor Tópico: Definição da Conexão no momento da instalação  (Lida 544 vezes)

emilio

  • Iniciante
  • **
  • Mensagens: 57
Definição da Conexão no momento da instalação
« Online: Junho 13, 2018, 07:30:47 pm »
Olá pessoal

Recentemente desenvolvi uma aplicacao que ficaria hospedada em várias pastas dentro de um mesmo servidor, todas compartilhando a mesma biblioteca.
Meu objetivo era deixar em cada pasta uma copia da aplicação acessando o banco de dados especifico daquela pasta.
Dentro do servidor haveriam varios bancos de dados com estrutura identica, cada um deles servindo de repositorio para um cliente diferente. Em outras palavras, a mesma aplicacao acessaria seu proprio banco de dados, dependendo da pasta onde ela estivesse instalada.
Entretanto, percebi que o scriptcase nao oferece essa facilidade no ato da publciacao. Pelo contrario, ele já pede a definicao de uma conexao fixa. Neste caso, mesmo que eu descompacte a aplicacao separadamente em varias pastas, todas elas estarao apontando para uma conexao unica, isto é, para o mesmo banco de dados, exatamente o que eu nao queria.
Nao faz sentido descompactar a mesma aplicacao em 10 pastas diferentes para acessar o mesmo banco de dados.
Deveria ser possivel definir a conexao no ato da instalacao, e que as configuracoes ficassem gravadas na pasta onde a aplicacao foi descompactada.
Ou entao, deveria ser possivel definir de alguma forma, seja atraves de arquivos de configuracao, ou de menus especiais, a conexao para a aplicacao recem instalada.
A solução paliativa que encontrei para o problema foi gerar varias publicacoes, cada uma com um nome diferente, e assim conseguir descompactar corretamente.
Gostaria que os desenvolvedores do scriptcase resolvessem esse tipo de problema.
Obrigado.


Haroldo

  • Expert
  • *****
  • Mensagens: 8608
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Definição da Conexão no momento da instalação
« Responder #1 Online: Junho 13, 2018, 09:06:11 pm »
passe  via url o nome da  conexão e altere a conexão dinamicamente.
Um prod só, uma app só, uma conexão para cada cliente.

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2248
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Re:Definição da Conexão no momento da instalação
« Responder #2 Online: Junho 13, 2018, 11:19:50 pm »
Publicação avançada para todas apontando na mesma pasta.
Ou dinâmica como o Haroldo falou
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Linux User: 397546 -> https://www.linuxcounter.net
Grupo Telegram -> https://t.me/scriptcasebr

emilio

  • Iniciante
  • **
  • Mensagens: 57
Re:Definição da Conexão no momento da instalação
« Responder #3 Online: Junho 14, 2018, 05:49:04 am »
Prezados amigos
Agradeço a atenção recebida, e fiquei bastante empolgado com a dica, pois ela simplificaria o processo.
Pelo que pude entender, eu nao precisaria publicar a mesma aplicação várias vezes e fazer várias copias para várias pastas, correto?
Tudo o que eu precisaria fazer seria publicar apenas uma vez, e descompactar a aplicação numa unica pasta, e passar a identificacao da conexao através da URL, e a partir dai a aplicação se conectaria com o banco de dados A,B ou C.
Os amigos poderiam apresentar um exemplo de código mostrando como eu poderia fazer isso?
Desde já fico agradecido pela gentileza.


emilio

  • Iniciante
  • **
  • Mensagens: 57
Re:Definição da Conexão no momento da instalação
« Responder #4 Online: Junho 14, 2018, 05:51:33 am »
Publicação avançada para todas apontando na mesma pasta.
Ou dinâmica como o Haroldo falou

Olá amigo.

Essa primeira possibilidade eu nao entendi.



Haroldo

  • Expert
  • *****
  • Mensagens: 8608
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Definição da Conexão no momento da instalação
« Responder #5 Online: Junho 14, 2018, 07:04:42 am »
Aplicação Login.
Evento onApplicationInit:
Código: [Selecionar]
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
sc_reset_change_connection();
sc_change_connection("infinitus",[empresa]);

chamada: https://dominio/sistema/app_login/?empresa=nome_conexão


Prezados amigos
Agradeço a atenção recebida, e fiquei bastante empolgado com a dica, pois ela simplificaria o processo.
Pelo que pude entender, eu nao precisaria publicar a mesma aplicação várias vezes e fazer várias copias para várias pastas, correto?
Tudo o que eu precisaria fazer seria publicar apenas uma vez, e descompactar a aplicação numa unica pasta, e passar a identificacao da conexao através da URL, e a partir dai a aplicação se conectaria com o banco de dados A,B ou C.
Os amigos poderiam apresentar um exemplo de código mostrando como eu poderia fazer isso?
Desde já fico agradecido pela gentileza.



jeffersonlins

  • Novato
  • *
  • Mensagens: 20
Re:Definição da Conexão no momento da instalação
« Responder #6 Online: Junho 14, 2018, 09:07:29 am »
Olá, bom dia!

Também tenho esta mesma dúvida do Emilio. Porém, gostaria de saber esta macro altera apenas conexões existentes no projeto. Se sim, existe alguma maneira de modificar o BD sem que a conexão esteja definida no projeto?

emilio

  • Iniciante
  • **
  • Mensagens: 57
Re:Definição da Conexão no momento da instalação
« Responder #7 Online: Junho 14, 2018, 09:49:06 am »
Olá amigos.
Não sei se a dica irá funcionar pois ela considera que eu deve cadastrar previamente todas as conexões no meu projeto antes da publicação.
É provável que eu não saiba quantos bancos de dados estão instalados em determinado servidor. Podem ser 3 ou 30.
O que eu desejava inicialmente era colocar em cada pasta uma cópia específica para cada banco. Mas se eu posso usar a mesma aplicação numa diretório raiz, o ideal é que eu passe a informação de conexão via url. Mas se eu criar um novo banco no mesmo servidor eu não queria ter que publicar novame te para essa nova conexão.
Não sei se fui claro.

Haroldo

  • Expert
  • *****
  • Mensagens: 8608
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Definição da Conexão no momento da instalação
« Responder #8 Online: Junho 14, 2018, 10:10:13 am »
Não Sr.

No projeto tenha apenas uma conexão: padrão.

Em produção crie uma nova conexão para cada banco de dados.



Olá amigos.
Não sei se a dica irá funcionar pois ela considera que eu deve cadastrar previamente todas as conexões no meu projeto antes da publicação.
É provável que eu não saiba quantos bancos de dados estão instalados em determinado servidor. Podem ser 3 ou 30.
O que eu desejava inicialmente era colocar em cada pasta uma cópia específica para cada banco. Mas se eu posso usar a mesma aplicação numa diretório raiz, o ideal é que eu passe a informação de conexão via url. Mas se eu criar um novo banco no mesmo servidor eu não queria ter que publicar novame te para essa nova conexão.
Não sei se fui claro.


jeffersonlins

  • Novato
  • *
  • Mensagens: 20
Re:Definição da Conexão no momento da instalação
« Responder #9 Online: Junho 14, 2018, 10:36:20 am »
Olá, bom dia!

Fiz o procedimento que vocês sugeriram, mas não obtive sucesso.

No evento onAplicationInit do login, eu coloquei o código:

sc_reset_change_connection();
sc_change_connection("conexao" ,[nova_conexao]);

Porém, ao executar o sistema e informar a conexão desejado, a mesma não é encontrada.

Haroldo

  • Expert
  • *****
  • Mensagens: 8608
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Definição da Conexão no momento da instalação
« Responder #10 Online: Junho 14, 2018, 10:55:51 am »
Como faz a chamada ao login?


Olá, bom dia!

Fiz o procedimento que vocês sugeriram, mas não obtive sucesso.

No evento onAplicationInit do login, eu coloquei o código:

sc_reset_change_connection();
sc_change_connection("conexao" ,[nova_conexao]);

Porém, ao executar o sistema e informar a conexão desejado, a mesma não é encontrada.

jeffersonlins

  • Novato
  • *
  • Mensagens: 20
Re:Definição da Conexão no momento da instalação
« Responder #11 Online: Junho 14, 2018, 11:06:00 am »
Olá, Haroldo!

O login foi definido como a aplicação inicial, não faço chamada para ele.

Haroldo

  • Expert
  • *****
  • Mensagens: 8608
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Definição da Conexão no momento da instalação
« Responder #12 Online: Junho 14, 2018, 02:24:53 pm »
a minha sugestão  foi passar a conexão via url.
http://sistema/login/?nova_conexao=XXXXXX

Como vc está alimentando a global [nova_conexao]?

Olá, Haroldo!

O login foi definido como a aplicação inicial, não faço chamada para ele.

jeffersonlins

  • Novato
  • *
  • Mensagens: 20
Re:Definição da Conexão no momento da instalação
« Responder #13 Online: Junho 14, 2018, 02:26:58 pm »
Ah, também estou fazendo dessa maneira, porém o banco não é modificado. Está permanecendo o que foi definido na publicação.


emilio

  • Iniciante
  • **
  • Mensagens: 57
Re:Definição da Conexão no momento da instalação
« Responder #14 Online: Junho 14, 2018, 02:30:59 pm »
Ola jeferson, tem como vc colocar o codigo fonte que voce está usando, juntamente com o evento e a url que vc está usando na hora da chamada?