+ Responder ao Tópico



  1. #1
    X-LOGAN
    Visitante

    Padrão Firebird preciso de ajuda!!!!!!

    Pessoal estou quase perdendo os cabelos, preciso muito de ajuda, vamos lá!!!
    Tenho uma aplicação que utiliza a base de dados em Interbase (*.gdb), criei uma partição samba com permissão de leitura e escrita pra todo os usuários, e coloquei a base de dados em uma das pastas do samba.
    Instalei o Firebird, pois pelo que eu ouvi ele é a versão Interbase para Linux, incluse a pasta dele no diretorio tem o nome de interbase (/opt/interbase).
    Ele esta iniciando normalmente com o sistema, porem quando passo o caminho no BDE na estação Win ele não acesso e dá o seguinte erro em uma janela:
    Exception EDBEngineError in module CE.EXE at 0096FE2
    Unknow database.
    I/O error for file "/sistema/Controle.gdb"
    Error while trying to open file
    No Such file or directory
    Alias: controle
    Já procurei os erros no google e não acho uma solução, no erro fala que a base de dados é desconhecida e ocorreu um erro ao tentar abrir pq não foi encontrada, sou um pouco leigo em base de dados, conheço uito pouco tanto o BDE e Firebird.
    Se eu mudo o caminho para acessar a base localmente, ou no servidor de arquivos (Win server) acessa normamente, sem problemas.

    PRECISO DE UMA LUZ
    Vou continuar buscando no google alguma coisa, mas se alguem puder ajudar agradecerei muito.

  2. #2
    X-LOGAN
    Visitante

    Padrão Re: Firebird preciso de ajuda!!!!!!

    Citação Postado originalmente por X-LOGAN
    Pessoal estou quase perdendo os cabelos, preciso muito de ajuda, vamos lá!!!
    Tenho uma aplicação que utiliza a base de dados em Interbase (*.gdb), criei uma partição samba com permissão de leitura e escrita pra todo os usuários, e coloquei a base de dados em uma das pastas do samba.
    Instalei o Firebird, pois pelo que eu ouvi ele é a versão Interbase para Linux, incluse a pasta dele no diretorio tem o nome de interbase (/opt/interbase).
    Ele esta iniciando normalmente com o sistema, porem quando passo o caminho no BDE na estação Win ele não acesso e dá o seguinte erro em uma janela:
    Exception EDBEngineError in module CE.EXE at 0096FE2
    Unknow database.
    I/O error for file "/sistema/Controle.gdb"
    Error while trying to open file
    No Such file or directory
    Alias: controle
    Já procurei os erros no google e não acho uma solução, no erro fala que a base de dados é desconhecida e ocorreu um erro ao tentar abrir pq não foi encontrada, sou um pouco leigo em base de dados, conheço uito pouco tanto o BDE e Firebird.
    Se eu mudo o caminho para acessar a base localmente, ou no servidor de arquivos (Win server) acessa normamente, sem problemas.

    PRECISO DE UMA LUZ
    Vou continuar buscando no google alguma coisa, mas se alguem puder ajudar agradecerei muito.
    Ninguem ai pra ajudar!!!!!!!



  3. #3

    Padrão Firebird preciso de ajuda!!!!!!

    primeira coisa, que se vc procurar no fórum ja foi respondido algo parecido...

    o endereço completo do banco de dados seria no SERVIDOR e não o que as aplicações enxergam... este é erro é comum de várias pessoas que usam o interbase/firebird...

    nao precisa nem usar o samba.... a comunicação com o SGBD e feito via TCP/IP e não que nem ACCESS que é feito direto no arquivo(aff)....

    blz!

  4. #4
    X-LOGAN
    Visitante

    Padrão Firebird preciso de ajuda!!!!!!

    Citação Postado originalmente por PiTsA
    primeira coisa, que se vc procurar no fórum ja foi respondido algo parecido...

    o endereço completo do banco de dados seria no SERVIDOR e não o que as aplicações enxergam... este é erro é comum de várias pessoas que usam o interbase/firebird...

    nao precisa nem usar o samba.... a comunicação com o SGBD e feito via TCP/IP e não que nem ACCESS que é feito direto no arquivo(aff)....

    blz!
    Eu já havia lido algo no forum inclusive foi eu que havia começado, mas não deu certo.
    Eu sempre procuro muito antes de postar alguma dúvida..



  5. #5
    Moraes
    Visitante

    Padrão Firebird preciso de ajuda!!!!!!

    olha , eu acesso o Firebird via TCP/IP....ou coloque o host do servidor,ex.:
    SERVIDOR:/home/Dados/Banco.gdb.....
    pelo samba no modo compartilhado acredito que voce irá ter mais problemas, qualquer duvida, estamos ai...ok

  6. #6
    X-LOGAN
    Visitante

    Padrão Firebird preciso de ajuda!!!!!!

    Citação Postado originalmente por Moraes
    olha , eu acesso o Firebird via TCP/IP....ou coloque o host do servidor,ex.:
    SERVIDOR:/home/Dados/Banco.gdb.....
    pelo samba no modo compartilhado acredito que voce irá ter mais problemas, qualquer duvida, estamos ai...ok
    Olá amigo, nas estações win sem problema eu tambem passo o caminho desta forma (mas eu passo esse caminho via BDE), já até tentei passando o ip: Ip_servidor:/sistema/controle.gdb.
    O problema so esta sendo no samba, pois eu pretendia compartilhar esta pasta para uma VPN, e a base de dados hj roda em um servidor win (não tenho problema passando o host ou o ip ele funfa legal), ja tentei até montar a pasta (smbmount)do servidor no samba mas não funfou.
    Sou leigo neste assunto de SGDB.
    Tenho que passar mais alguma outra configuração no servidor?

    Obrigado pela ajuda



  7. #7
    Moraes
    Visitante

    Padrão Firebird preciso de ajuda!!!!!!

    voce ira acessar esta base de dados como ? por algum aplicativo...de mais um pouco de detalhes....

  8. #8
    Moraes
    Visitante

    Padrão Firebird preciso de ajuda!!!!!!

    acabei encontrando um artigo.....acho que talvez te ajude.......

    Em nossa rede temos um servidor proxy/firewall com o CL8 e ip interno 192.168.0.1 e um servidor do banco de dados Firebird com 192.168.0.5 com CL8 (pode ser Windows).

    Nossas aplicações internas e aplicações que rodam em nossas filiais via VPN acessam o Firebird diretamente pelo ip 192.168.0.5.

    Acessos externos ao Firebird sem estar na VPN, não são liberados pelo proxy e somente abrir a porta 3050 nele não bastou.

    Para o acesso externo, foi criado um redirecionamento para o servidor 192.168.0.5.

    Para este teste foi utilizado Conectiva Linux 8 e iptables-1.2.4-1cl no ambiente abaixo:

    INTERNET <=> CL8 <=> Firebird

    >> PROXY
    Eth0_CL8=200.X.X.X (Internet)
    Eth1_CL8=192.168.0.1

    >> FIREBIRD
    Eth0=192.168.0.5

    Caso não tenha o iptables no servidor proxy, o pacote está no CD de instalação e utilize o comando:

    # rpm -ivh iptables*

    pronto..... ou ao menos era para estar... :-)

    agora vamos ao script...

    Crie um arquivo qualquer dentro do /etc/rc.d/init.d (por exemplo iptables.sh). Dê a seguinte permissão a este arquivo:

    # chmod 700 iptables.sh

    Edite o arquivo iptables.sh e adicione este script:


    #!/bin/bash
    ############################################
    #chkconfig: 345 20 80 #
    #description(po_BR) : Iptables.sh
    ############################################
    #####Checando se a rede está OK

    . /etc/rc.d/init.d/functions
    . /etc/sysconfig/network

    IP_EXTERNO="200.X.X.X"
    IP_INTERNO="192.168.0.1"
    IP_FIREBIRD="192.168.0.5"

    if [ ${NETWORKING} = "no" ]
    then
    exit 0
    fi

    case "$1" in
    start)
    gprintf "Iniciando %s services: [ OK ]" "iptables"
    echo "1"> /proc/sys/net/ipv4/ip_forward
    echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
    echo 0 > /proc/sys/net/ipv4/tcp_syncookies
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies
    for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do
    echo 0 > $f
    done
    for f in /proc/sys/net/ipv4/conf/*/send_redirects; do
    echo 0 > $f
    done
    for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
    echo 0 > $f
    done
    for f in $(ls /proc/sys/net/ipv4/conf/*/log_martians) ; do
    echo 0 > $f
    done

    ##### Carregando os Módulos
    /sbin/modprobe ip_tables
    /sbin/modprobe iptable_nat
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_nat_ftp

    ###### GERANDO LOGS
    iptables -A FORWARD -p tcp -i eth0 --dport 3050 -j LOG

    ######>>> FIREBIRD
    iptables -t nat -A PREROUTING -p tcp -s 0/0 -d $IP_EXTERNO --dport 3050 -j DNAT --to-destination $IP_FIREBIRD:3050
    iptables -A FORWARD -p tcp -s $IP_FIREBIRD -d $IP_EXTERNO --dport 3050 -j ACCEPT
    ######<<< FIREBIRD

    echo
    ;;

    stop)
    gprintf "Interrompendo %s services [ OK ]: " "iptables"
    iptables -F ;iptables -Z ; iptables -F -t nat ;
    iptables -P INPUT ACCEPT
    echo
    ;;
    status)
    iptables -L
    ;;
    restart)
    $0 stop
    $0 start
    echo
    ;;
    *)
    gprintf "Usage : %s ( start|stop|status|restart)"iptables
    exit 1
    echo
    ;;
    esac
    exit 0

    O bloco principal é:


    Firebird

    iptables -t nat -A PREROUTING -p tcp -s 0/0 -d $IP_EXTERNO --dport 3050 -j DNAT --to-destination $IP_FIREBIRD:3050
    iptables -A FORWARD -p tcp -s $IP_FIREBIRD -d $IP_EXTERNO --dport 3050 -j ACCEPT

    onde -s 0/0 pode ser trocado por somente um IP, isso aumenta o nível de segurança, ou seja, somente o IP informado terá acesso ao Firebird, isto é útil quando por exemplo, se você tem uma aplicação web em um provedor e necessita acessar seu dados no Firebird, assim somente libera o ip do seu provedor.

    No caso ficaria assim :

    IP_LIBERADO="200.201.X.X"
    iptables -t nat -A PREROUTING -p tcp -s $IP_LIBERADO -d $IP_EXTERNO --dport 3050 -j DNAT --to-destination $IP_FIREBIRD:3050 iptables -A FORWARD -p tcp -s $IP_FIREBIRD -d $IP_EXTERNO --dport 3050 -j ACCEPT

    Execute o script criado (iptables.sh no nosso exemplo):

    # ./iptables start


    Teste

    Utilizamos uma máquina fora da rede e conectamos na internet via dial-up, usando o IBConsole criamos o servidor utilizando o IP de entrada da Internet (IP_EXTERNO), O CL8 fará o redirecionamento para o micro que tem o Firebird (192.168.0.5) dentro da rede interna ou DMZ. O micro com o Firebird pode ser coloca em uma DMZ também.

    Os logs da porta 3050 serão gerados dentro de /var/log/messages.

    http://www.vivaolinux.com.br/artigos...php?codigo=265



  9. #9
    X-LOGAN
    Visitante

    Padrão Firebird preciso de ajuda!!!!!!

    VALEU VOU TESTAR!!!

  10. #10
    Moraes
    Visitante

    Padrão Firebird preciso de ajuda!!!!!!

    se der certo...depois de uma resposta...ok