Sistema na rede
Pessoal, a alguns dias atraz me deparei com um sistema desenvolvido em Visual Basic, Banco Access, que rodava na rede da seguinte forma:
1. compartilhava-se a pasta do sistema no servidor
2. Mapeava-se uma unidade de rede (estação), da pasta do sistema
3. criava-se um atalho do executavel que estava no servidor, na area de trabalho da estação.
- Isso rola em delphi 7 / Firebird 1.5 ???
- Quais as vantagens, desvantagens, problemas, etc...?
conto com o esclarecimento de voces...
Abraços!
1. compartilhava-se a pasta do sistema no servidor
2. Mapeava-se uma unidade de rede (estação), da pasta do sistema
3. criava-se um atalho do executavel que estava no servidor, na area de trabalho da estação.
- Isso rola em delphi 7 / Firebird 1.5 ???
- Quais as vantagens, desvantagens, problemas, etc...?
conto com o esclarecimento de voces...
Abraços!
Mahdak
Curtidas 0
Respostas
Paullsoftware
31/03/2006
Acho que funciona com qq banco, mais...
1 - O sistema ficará lento com muitos conectados a ele ao mesmo tempo.
2 - Se houver um problema na hora de ligar a estação a unidade mapeada não será restaurada! (tive muita dor de cabeça com isso).
3 - O sistema funciona de forma bem mais rápida se vc copiar somente o executável nas estações e criar um atalho para o mesmo.
4 - De todo jeito vc terá que instalar o módulo client do FireBird/Interbase...
e outros problemas q já ocorreram comigo e não lembro agora!
1 - O sistema ficará lento com muitos conectados a ele ao mesmo tempo.
2 - Se houver um problema na hora de ligar a estação a unidade mapeada não será restaurada! (tive muita dor de cabeça com isso).
3 - O sistema funciona de forma bem mais rápida se vc copiar somente o executável nas estações e criar um atalho para o mesmo.
4 - De todo jeito vc terá que instalar o módulo client do FireBird/Interbase...
e outros problemas q já ocorreram comigo e não lembro agora!
GOSTEI 0
Mahdak
31/03/2006
Acho que funciona com qq banco, mais...
1 - O sistema ficará lento com muitos conectados a ele ao mesmo tempo.
2 - Se houver um problema na hora de ligar a estação a unidade mapeada não será restaurada! (tive muita dor de cabeça com isso).
3 - O sistema funciona de forma bem mais rápida se vc copiar somente o executável nas estações e criar um atalho para o mesmo.
4 - De todo jeito vc terá que instalar o módulo client do FireBird/Interbase...
e outros problemas q já ocorreram comigo e não lembro agora!
humm... vamos ver se eu entendi:
- até rola, mas ficaria lento, alem de ter que instalar o firebird client na estação...
- se eu fizesse da maneira como descrevi no começo desse topico, nao teria problemas do tipo: dois usuarios estarem no mesmo formulario inserindo um registro e o sistema gerar o mesmo código pros dois usuários???, ou seja violação da chave primaria
Obs: nos meus sistemas eu gero o código dando um Select Max(codigo) as prox from tabela
- como funciona esse lance de copiar somente o executável nas estações e criar um atalho para o mesmo??? ja pesquisei a respeito aqui no forum, vi topicos falando do componente IBINI, atualizei minha paleta, mas tive problemas... de que maneira vc faz isso???
abração
GOSTEI 0
Paullsoftware
31/03/2006
vamos por etapa:
criaria um atalho para ele normalmente (acho q vc sabe criar né??) mais vc deveria informar a localização do servidor do banco de dados na sua rede, tipo: Eu uso arquivo Ini para isso com a informação:
Meu ini...
daí quando o sistema do terminal abrir ele ler esse arquivo e atribui o valor a uma variável que por sua vez é passa para proprieada DataBaseName do meu DataBase...
deu pra entender? :?:
- até rola, mas ficaria lento, alem de ter que instalar o firebird client na estação...
Certo!se eu fizesse da maneira como descrevi no começo desse topico, nao teria problemas do tipo: dois usuarios estarem no mesmo formulario inserindo um registro e o sistema gerar o mesmo código pros dois usuários???, ou seja violação da chave primaria
Obs: nos meus sistemas eu gero o código dando um Select Max(codigo) as prox from tabela
nesse caso daria os mesmo problemas...como funciona esse lance de copiar somente o executável nas estações e criar um atalho para o mesmo??? ja pesquisei a respeito aqui no forum, vi topicos falando do componente IBINI, atualizei minha paleta, mas tive problemas... de que maneira vc faz isso???
nesse caso, você criaria uma pasta na estação tipo C:\Sistema\MeuExe.execriaria um atalho para ele normalmente (acho q vc sabe criar né??) mais vc deveria informar a localização do servidor do banco de dados na sua rede, tipo: Eu uso arquivo Ini para isso com a informação:
Meu ini...
[Base] Caminho = Servidor:C:\Sistema\MinhaBase.GDB
daí quando o sistema do terminal abrir ele ler esse arquivo e atribui o valor a uma variável que por sua vez é passa para proprieada DataBaseName do meu DataBase...
deu pra entender? :?:
GOSTEI 0
Mahdak
31/03/2006
entendido.... agora só tenho que baixar um tutorial pra aprender como se cria um atalho na area de trabalho. uhaeuhaeuhe :P
GOSTEI 0
Paulocesar1301
31/03/2006
Criando Atalho:
Onde [b:0a9b42d258][i:0a9b42d258]Local[/i:0a9b42d258][/b:0a9b42d258] é a onde queres o atalho: [b:0a9b42d258]Startup[/b:0a9b42d258], [b:0a9b42d258]Desktop[/b:0a9b42d258], [b:0a9b42d258]CommonStartMenu[/b:0a9b42d258], etc
Ex.:
[u:0a9b42d258]Quanto a usar ini para trabalhar com caminhos dos bancos:[/u:0a9b42d258]
Eu pensaria usar o Registro do Windows de acordo com o perfil do usuário. É simples e bem mais seguro... Afinal o usuário não tem a meor possibilidade de apagar suas configurações.
E, pensando nos espertinhos... retire o acesso ao regedit :wink:
Abs e Bons Códigos :wink: [/u]
function CriarAtalho(Arquivo, Atalho, Local: String): Boolean; Var Temp1: IUnknown; Temp2: IShellLink; Temp3: WideString; Temp4: IPersistFile; begin Try Temp1 := CreateComObject(CLSID_ShellLink); Temp2 := Temp1 as IShellLink; Temp4 := Temp1 as IPersistFile; Temp2.SetPath(PChar(Arquivo)); Temp2.SetWorkingDirectory(PChar(ExtractFileDir(Arquivo))); Temp3 := Local + ´\´ + Atalho + ´.lnk´; Temp4.Save(PWChar(Temp3),False); Result := True; Except Result := False; End; end;
Onde [b:0a9b42d258][i:0a9b42d258]Local[/i:0a9b42d258][/b:0a9b42d258] é a onde queres o atalho: [b:0a9b42d258]Startup[/b:0a9b42d258], [b:0a9b42d258]Desktop[/b:0a9b42d258], [b:0a9b42d258]CommonStartMenu[/b:0a9b42d258], etc
Ex.:
CriarAtalho(´C:\MeuExe.exe´, ´Meu Atalho´, ´C:\Documents and Settings\usuario\Menu Iniciar\Programas\Inicializar\´);
[u:0a9b42d258]Quanto a usar ini para trabalhar com caminhos dos bancos:[/u:0a9b42d258]
[Base]
Caminho = Servidor:C:\Sistema\MinhaBase.GDB
Eu pensaria usar o Registro do Windows de acordo com o perfil do usuário. É simples e bem mais seguro... Afinal o usuário não tem a meor possibilidade de apagar suas configurações.
E, pensando nos espertinhos... retire o acesso ao regedit :wink:
Abs e Bons Códigos :wink: [/u]
GOSTEI 0
Mahdak
31/03/2006
paulo cesar... eu estava brincando quanto a baixar um tutorial para aprender como criar um atalho na area de trabalho.. uhauhua mas valleu a sua dica sobre o RegEdit... eu ja havia pensado nessa possibilidade
Abração brother!
Abração brother!
GOSTEI 0