Firebird em Rede
Estou criando um aplicativo para acessar o Firebird em rede e gostaria de uma ajuda...
Como faço um Arquivo ini que vai receber o endereço IP + do Banco de dados... Gostaria de receber o corpo da criação do ini + como ligo ele ao database e Quais as demais configurações eu tenho que colocar para receber o caminho do database em Rede...
Obrigado
Como faço um Arquivo ini que vai receber o endereço IP + do Banco de dados... Gostaria de receber o corpo da criação do ini + como ligo ele ao database e Quais as demais configurações eu tenho que colocar para receber o caminho do database em Rede...
Obrigado
Supernova
Curtidas 0
Respostas
Afarias
31/05/2004
se usa IBX pode usar o componente TIBDatabaseINI, e caso não quira, um exemplo::
T+
uses IniFiles; function TFormX.GetDatabaseName: string; const csTCP = ´¬s:¬s´; var Server: string; DataFile: string; begin with TIniFile.Create(´nome do arquivo.ini´) do try Server := ReadString(´database´, ´servidor´, ´localhost´); DataFile := ReadString(´database´, ´arquivo´, ´´); finally Free; end; Result := Format(csTCP, [server, DataFile]); end; procedure TFormX.OpenDatabase; begin IBDatabase1.DatabaseName := GetDatabaseName; IBDatabase1.Connected := True; end;
T+
GOSTEI 0
Supernova
31/05/2004
Era isso mesmo que ei queria...
Só tenho algumas dúvidas...
Se não existir o INI ele vai criar....
Aonde que ele vai criar? Gostaria que fosse no diretorio do executavel...
Como é a mascara certinha que tenho que colocar no ini para ele reconhecer o banco...
Se tem como eu descubrir o IP da maquina servidora em tempo de execução e configurar o mesmo... a minha grande duvida se resume em como eu vou criar um instalador configurando automaticamente o banco para acessar o servidor... E como via codigo os clientes saberão qual é o servidor... e não pensará que ele mesmo é o servidor...
Pensei algo como criar duas instalações do sistema, uma cliente outra servidor... Na qual o cliente procuraria o banco no caminho ´ executavel + bd´ e se não encontra-se pediria o caminho via opendialog do banco ´ com a rede já previamente mapeada´ e salvaria o resultado do ini...
POrem pensei em varios problemas...
Por exemplo o OpenDialog não me daria o endereço do IP por ezemplo apenas o nome do servidor....
A.Farias... esta com certeza é a grande duvida e com certeza o grande paradigma para pessoas como eu que sairam do Piradox que corrompia mais só era manipular o Alias e o Net Dir... Por favor socorre nós...
Só tenho algumas dúvidas...
Se não existir o INI ele vai criar....
Aonde que ele vai criar? Gostaria que fosse no diretorio do executavel...
Como é a mascara certinha que tenho que colocar no ini para ele reconhecer o banco...
Se tem como eu descubrir o IP da maquina servidora em tempo de execução e configurar o mesmo... a minha grande duvida se resume em como eu vou criar um instalador configurando automaticamente o banco para acessar o servidor... E como via codigo os clientes saberão qual é o servidor... e não pensará que ele mesmo é o servidor...
Pensei algo como criar duas instalações do sistema, uma cliente outra servidor... Na qual o cliente procuraria o banco no caminho ´ executavel + bd´ e se não encontra-se pediria o caminho via opendialog do banco ´ com a rede já previamente mapeada´ e salvaria o resultado do ini...
POrem pensei em varios problemas...
Por exemplo o OpenDialog não me daria o endereço do IP por ezemplo apenas o nome do servidor....
A.Farias... esta com certeza é a grande duvida e com certeza o grande paradigma para pessoas como eu que sairam do Piradox que corrompia mais só era manipular o Alias e o Net Dir... Por favor socorre nós...
GOSTEI 0
Afarias
31/05/2004
|Se não existir o INI ele vai criar....
SIM
|Aonde que ele vai criar?
No caminho especificado (nome do arquivo.ini) ... se não for especificado um caminho, então será criado na pasta WINDOWS
|Gostaria que fosse no diretorio do executavel...
passe o caminho do executável então onde tem ´nome do arquivo.ini´, por exemplo::
with TIniFile.Create(ChangeFileExt(Application.ExeName, ´.INI´)) do
{...}
|Como é a mascara certinha que tenho que colocar no ini para ele
|reconhecer o banco...
Como assim :?: :?: :?:
|Se tem como eu descubrir o IP da maquina servidora em tempo de
|execução e configurar o mesmo...
NÃO (ou melhor +/- , mas não é boa idéia de qualquer forma!)
|a minha grande duvida se resume em como eu vou criar um instalador
|configurando automaticamente o banco para acessar o servidor...
Não vai, o mínimo q deve ser informado é o nome ou ip do servidor.
|E como via codigo os clientes saberão qual é o servidor... e não pensará
|que ele mesmo é o servidor...
Não saberá (via código)! Seu cliente deve ter esta informação.
|Pensei algo como criar duas instalações do sistema, uma cliente outra
|servidor... Na qual o cliente procuraria o banco no caminho ´ executavel
|+ bd´ e se não encontra-se pediria o caminho via opendialog do banco ´
|com a rede já previamente mapeada´ e salvaria o resultado do ini...
O Firebird não usa mapeamentos
|POrem pensei em varios problemas... Por exemplo o OpenDialog não
|me daria o endereço do IP por ezemplo apenas o nome do servidor....
O nome do servidor já é suficiente -- o problema maior é q, como disse, o IB não usa mapeamentos
---
Bom, infelizmente não tem como correr de informar o nome do servidor e caminho da base de dados.
Existem algumas as soluções de ALIAS do Firebird (ótima opção) ou com ferramentas de terceiros -- mas ainda assim, pelo menos o nome/ip do servidor tem de ser informado.
---
Uma outra opção, é colocar o INI compartilhado (e até os executáveis se desejar) de forma q definindo a configuração em um local, já sirva para todas as estações.
T+
SIM
|Aonde que ele vai criar?
No caminho especificado (nome do arquivo.ini) ... se não for especificado um caminho, então será criado na pasta WINDOWS
|Gostaria que fosse no diretorio do executavel...
passe o caminho do executável então onde tem ´nome do arquivo.ini´, por exemplo::
with TIniFile.Create(ChangeFileExt(Application.ExeName, ´.INI´)) do
{...}
|Como é a mascara certinha que tenho que colocar no ini para ele
|reconhecer o banco...
Como assim :?: :?: :?:
|Se tem como eu descubrir o IP da maquina servidora em tempo de
|execução e configurar o mesmo...
NÃO (ou melhor +/- , mas não é boa idéia de qualquer forma!)
|a minha grande duvida se resume em como eu vou criar um instalador
|configurando automaticamente o banco para acessar o servidor...
Não vai, o mínimo q deve ser informado é o nome ou ip do servidor.
|E como via codigo os clientes saberão qual é o servidor... e não pensará
|que ele mesmo é o servidor...
Não saberá (via código)! Seu cliente deve ter esta informação.
|Pensei algo como criar duas instalações do sistema, uma cliente outra
|servidor... Na qual o cliente procuraria o banco no caminho ´ executavel
|+ bd´ e se não encontra-se pediria o caminho via opendialog do banco ´
|com a rede já previamente mapeada´ e salvaria o resultado do ini...
O Firebird não usa mapeamentos
|POrem pensei em varios problemas... Por exemplo o OpenDialog não
|me daria o endereço do IP por ezemplo apenas o nome do servidor....
O nome do servidor já é suficiente -- o problema maior é q, como disse, o IB não usa mapeamentos
---
Bom, infelizmente não tem como correr de informar o nome do servidor e caminho da base de dados.
Existem algumas as soluções de ALIAS do Firebird (ótima opção) ou com ferramentas de terceiros -- mas ainda assim, pelo menos o nome/ip do servidor tem de ser informado.
---
Uma outra opção, é colocar o INI compartilhado (e até os executáveis se desejar) de forma q definindo a configuração em um local, já sirva para todas as estações.
T+
GOSTEI 0
Supernova
31/05/2004
Eu fiz o que vc falou com a função acima... mas não criou o .ini mandei procurar e nada... acompanhando por dentro do delphi... vi que ele entra na função... Lê e rtorna que não encontrou o banco...
O que esta errado?
O que esta errado?
GOSTEI 0