Aplicação rodar em rede, .gdb e .exe no linux tem como ?

Delphi

07/07/2006

Olá a todos do fórum.

Estou com um problema do tamanho do Rio Grande.... rsrs

Preciso fazer meu programa roda dentro do servidor de dados que utiliza Linux, Conectiva versão 9.0, criei os diretórios, minha rede já está funcionando, o problema é que quando vou registrar por exemplo o banco de dados em uma ferramenta de desenvolvimento, tipo IBExpert ou registrar nos SQLConnection´s do meu sistema aparece erros, não se estou fazendo os passos corretos mas...

Estrutura de Pastas e dados do servidor:

IP: 192.168.1.1

estrutura: \usr\d2p1\teste\dados\ (dentro da pasta dados encontra-se meu conexao.GDB)

não consigo de jeito maneira fazer a conexão funcionar, tenho que fazer alguma configuração adicional para que funcione isso ?

Esta me aparecendo as seguintes mensagens:

[code]
Unsuccessful execution caused by a system error that precludessuccessful execution of subsequent statements.Unable to complete network request to host ´192.168.1.1´.Failed to estabilish a connection.Nenhuma conexão pôde ser feita porque a máquina de destino as recusou ativamente.
[/cod]
Obrigado.


Gtts

Gtts

Curtidas 0

Respostas

Adriano Santos

Adriano Santos

07/07/2006

Inverte as barras

IP: 192.168.1.1

192.168.1.1:/usr/d2p1/teste/dados/BANCO.GDB

Não esqueça que o Linux é sensitivo, se tiver uma letra maíscula ou minúscula errada, não conecta. E as barras no linux são invertidas.

Não sei se o caminho acima esta correto, sempre me atrapalho entre o IP e o Caminho com os ´:´ e talz


GOSTEI 0
Magnof

Magnof

07/07/2006

Instalação do Firebird em Linux O servidor Firebird é fornecido em dois formatos, ?Classic? que corre como um serviço, ou ?SuperServer? que corre como um ?background daemon?. Embora o futuro tenha tendência a ser o SuperServer, aconselha-se o utilizador que está a iniciar com o Firebird a utilizar o ?Classic?, pois com certeza será uma melhor plataforma para experimentar o Firebird.

NOTAS:

1) Tem de possuir direitos ?root? para instalar o Firebird.
2) Para uma instalação eficaz do SuperServer deve adicionar localhost ao seu ficheiro /etc/hosts.equiv.
3) Se necessitar de acesso remoto de outras máquinas à base de dados, deverá ainda adicionar o nome dessas máquinas ao ficheiro /etc/hosts.equiv.

A edição Super Server instala-se da mesma forma que a indicada em diante, com a particularidade dos ficheiros de instalação estarem marcados SS em vez de CS.

Para uma instalação rpm linux

$rpm -Uvh FirebirdCS-1.0.0-nnn.i386.rpm

O que faz a instalação Linux

A instalação Linux:
1. Tenta parar algum servidor que esteja em execução;
2. Se existir uma instalação prévia do Firebird, então esta e todos os ficheiros associados em /usr/lib /usr/include serão arquivados no ficheiro /opt/interbase_.tar.gz e de seguida serão eliminados.
3. Instala o software na directoria /opt/interbase e as livrarias em /usr/lib e as ?headers? em /usr/include
4. Automaticamente adiciona gds_db para a porta 3050 em /etc/services
5. Automaticamente adiciona localhost.localdomain e HOSTNAME a /etc/host.equiv
6. A versão SuperServer ainda instala um script de arranque em /etc/rc.d/init.d/firebird. Um novo ?link? rcfirebird é criado em /usr/bin para o script init.d. Este método é preferível a executar directamente o Firebird no script initd, pois /usr/bin está na ?search path? de todos os utilizadores.
7. É criada a entrada Firebird em /etc/rc.config para ???? SuSE (SuSE specific configuration for service startup management).

O Firebird deve arrancar automaticamente em runlevel 2, 3 e 5.
Todos os packages de instalação foram desenvolvidos e testados em RH 7.x, MDK 7.x e SuSE 7.x e versões posteriores.

A instalação ?Classic? automaticamente configura a entrada xinetd se a directoria /etc/xinetd.d for encontrada, senão cria uma entrada inetd. Como algumas distribuições colocam o xinetd numa localização diferente da directoria /etc/xinetd.d, uma configuração manual é requerida nestas condições.

Testes da instalação Linux
Para testar o acesso local à sua instalação:
$cd /opt/interbase/bin
$isql -user sysdba -password
>connect /opt/interbase/examples/employee.gdb;
>select * from sales;
>select rdb$relation_name from rdb$relations;
>help;
>quit;
Para testar o acesso remoto:
$cd /opt/interbase/bin
$isql -user sysdba -password
>connect ´:/opt/interbase/examples/employee.gdb´;
>select * from sales;
>select rdb$relation_name from rdb$relations;
>help;
>quit;
*Se tiver gerado uma password na sua instalação, obtenha-a no ficheiro /opt/interbase/SYSDBA.file.

Considerações em Ambientes Linux
Adicionalmente aos ficheiros standard de instalação, são fornecidos na directoria bin do Firebird os seguintes três scripts:- ( Substitua XX nos dois scripts por CS para o Firebird Classic ou por SS para o Firebird SuperServer.)
XXchangeRunUser.sh - Cria uma nova conta de utilizador unix firebird e altera o ?owner? da Instalação Firebird e das tarefas em ?background? para correr como este utilizador firebird.
XXrestoreRootRunUser.sh - Repõe o ?owner? dos ficheiros Firebird files, e do ?owner? utilizador das tarefas em ?background? para o inicial da instalação por defeito ?root?
É VIVAMENTE RECOMENDADO para uma instalação segura do Firebird que os processos do servidor não sejam corridos como root.
Se o fizer terá algumas restrições sobre quem poderá inicialmente criar bases de dados Firebird e onde estas poderão ser criadas.
changeDBAPassword.sh - Altera a password do utilizador Firebird SYSDBA e, se necessário, altera o ?init script? /etc/rc.d/init.d/firebird com a nova password


GOSTEI 0
Gtts

Gtts

07/07/2006

verifiquei as letras maiusculas e minusculas, e coloquei as barras como o exemplo, mas me retorna a mensagem
´Nenhuma conexão pôde ser feita porque a máquina de destino as recusou ativamente. ´

não sei mais o que fazer, será que não tem como eu desenvolver meu sistema já no server, utilizando os sqlconnection´s já ligados ao banco no servidor ?

obrigado.


GOSTEI 0
Gtts

Gtts

07/07/2006

não teve jeito....

Pelo que eu entendo, minha aplicação vai rodar na estação certo ? ou vai rodar no servidor ? se na estação eu teria de colocar o endereço IP da máquina e o caminho onde se encontrar meu banco mas mesmo assim não conecta, e o pior de tudo meu chefe tá me incomodando pra fazer isso funcionar, já verifiquei no servidor, tem programas que rodam lá já mas com outro banco de dados.... isso é q eu não entendo... :cry:

Alguém tem mais idéias do que posso ser feito ?

obrigado


GOSTEI 0
Dopi

Dopi

07/07/2006

Antes de tentar pelo seu progama, verifique se o algum gerenciador de FireBird, como o ´IBOconsole´ consegue estabelecer a conexão...

Verifique o básico
- Ping no Servidor: ´ping 192.168.1.1´ funciona ? O servidor responde ? Se SIM, então a rede TCP/IP está ok...

- Verifique se o arquivo do Banco de Dados realmente está nessa pasta e com esse exato nome... (atenção ao ´case´)

- Verifique se o usuário do sistema Linux chamado ´firebird´ possui permissões de acesso ao diretório e ao arquivo do banco de dados...
Isso pode ser feito com um simples ´ls -l´ no diretório... Ou ainda tentando uma conexão local usando o utílitário de linha de comando ´isql´ conforme demonstrou o ´magnof´


GOSTEI 0
POSTAR