Olá, se algúem puder me ajudar, obrigado
Tenho um projeto que deve acessar o banco de dados cujo nome físico
é composto assim EmpresaXXX onde XXX é o código da empresa no login
do usuário, quero deixar claro que na minha aplicação o usuário se loga
informando empresa e usuário, e minha aplicação é única só muda a base
de dados… Como posso montar um pool de conexão se tenho 120 clientes sendo que minha aplicação é só uma e tenho 1 base física para cada cliente?
Talvez seja um jeito um tanto quanto “burro”, ou talvez eu nao tenha entendido o que vc quer fazer direito, mas porque vc nao cria uma Hashtable<String,String> onde, vc guarda o codigo da empresa e o nome do banco.
Quando o seu usuario fizer o login vc pega o codigo da empresa e passa pra classe que faz a conexao e la algum metodo se encarrega de pegar o nome do banco no Hashtable e conectar.
[quote=cesarmene]Olá, se algúem puder me ajudar, obrigado
Tenho um projeto que deve acessar o banco de dados cujo nome físico
é composto assim EmpresaXXX onde XXX é o código da empresa no login
do usuário, quero deixar claro que na minha aplicação o usuário se loga
informando empresa e usuário, e minha aplicação é única só muda a base
de dados… Como posso montar um pool de conexão se tenho 120 clientes sendo que minha aplicação é só uma e tenho 1 base física para cada cliente?
[/quote]
Você pode criar diversos Data Sources no seu Application Server, cada um apontando para a base fisica de uma empresa. Quando o usuario tentar se logar, voce busca o DS pelo nome da empresa que ele esta logado.
Por exemplo: ServiceLocator.lookup("DataSource.EmpresaXXX");
Acho que fica uma coisa bem limpa no seu codigo. Em ultimo caso, poderia criar uma Factory para os DataSources, onde a Factory seria responsavel por saber a associacao dos DS para as empresas.
Espero ter ajudado…