Autor Tópico: Configurar conexão ao DB em tempo de execução  (Lida 3198 vezes)

snarkhx

  • Novato
  • *
  • Mensagens: 35
Configurar conexão ao DB em tempo de execução
« Online: Janeiro 15, 2007, 01:07:25 pm »
Preciso configurar uma conexão de db para o resto de minha aplicação logo após o Login. Como eu faço isto?

Ambientando melhor pra que alguém responda à minha dúvida:

Eu tenho várias bases de dados disponíveis para meus clientes. (algo em torno de 100 e aumentando...)

A principio não sei o nome de nenhuma delas, pois as mesmas serão criadas pelo clientes em algum momento.
Motivo pelo qual não posso simplesmente adicioná-las no ambiente de produção

Eu tenho um lugar onde é salvo o lugar, o banco de dados, o login e a senha do cliente.
Basta isso para que use a minha aplicação (comum para todos) para individualmente para cada cliente, ja que cada um terá sua base de dados.


Então o que eu quero é:
- Logo após o login, buscar o nome do banco de dados e criar, para as minhas aplicações, uma conexão com o servidor, para que elas o utilizem.




Por um acaso é mexendo com essas variáveis aqui ?
sc_db_master_usr - Informa o login do usuário a ser utilizado.
sc_db_master_pass - Informa a senha a ser utilizada.
sc_db_master_cript

Se sim, qual a forma correta de utilizá-las ? Incluindo a configuração na tela da aplicação!!


Seria muito interessante se tivesse uma macro que criasse uma nova conexão baseada em parametros.
Após a criação desta conexão poderíamos simplesmente utilizar as variáveis de sessão para sua utilização.



Obrigado
« Última modificação: Janeiro 15, 2007, 04:30:19 pm por Snarkhx »

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re: Configurar conexão ao DB em tempo de execução
« Responder #1 Online: Janeiro 19, 2007, 11:54:07 pm »
A principio não sei se tem uma forma de conexão dinamica, talvez se pesquisar todas as variaveis em sesssão(globais) encontre as que são responsaveis pela conexão, mas não entendi uma coisa, o cliente cria a base em tempo de excução? essa base tem que ter sempre a mesma estrutura não?

Pq não usar uma base só, e incluir uma chave em todas as tabelas? O cliente que se logar, tera acesso apenas aos registros cuja a chave é a autenticaçào dele.

snarkhx

  • Novato
  • *
  • Mensagens: 35
Re: Configurar conexão ao DB em tempo de execução
« Responder #2 Online: Janeiro 22, 2007, 07:51:06 am »
Ambientando:

- Na minha aplicação um Cliente (com várias filiais) contrata meus serviçõs.
Cada filial dele no momento de seu registro no meu sistema, terá uma base de dados (com toda estrutura e primeiros dados) criada.

Eu não posso colocar uma chave para identificar qual empresa pertence os dados, pois imagina colocar isso numa base que tem +- 30 tabelas com 200 entidades. Imagina os erros e falhas de segurança a que os meus clientes poderiam ser expostos. Sem contar na hora do backup e do volume de dados. (2Gigas ao ano por filial)

...
O negócio é realmente separar tudo isso por contexto, ou seja, conexão!

marcio.a.oliveira

  • Visitante
Re: Configurar conexão ao DB em tempo de execução
« Responder #3 Online: Janeiro 28, 2007, 02:14:55 am »
Caro Amigo

Acredito que neste seu caso , pelo que vejo voce tera que duplicar todas as aplicações criando uma pasta para cada cliente ou filial, e para cada uma uma conexao diferente, voce mesmo.

Abracos
marcio oliveira

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re: Configurar conexão ao DB em tempo de execução
« Responder #4 Online: Janeiro 28, 2007, 07:43:58 pm »
Você solicitou um suporte a Netmake? O que eles dizem?
Notei que existem variáveis globais que guardam os dados dessa conexão, você pode fazer uma conexão persistente usando o php( na oninit de cada aplicação, ou numa biblioteca, e alterar os valores dessas váriaveis, talvez isso funcione, mas seria preciso testar.

Se resolver, publique aqui como conseguiu.

Haroldo Passos