db4o Developer Community

db4o open source object database, native to Java and .NET
Welcome to db4o Developer Community Sign in | Join
in Search
More Search Options

Erro no servidor do db4o

Last post 09-13-2008, 05:29 AM by neybauru. 2 replies.
Sort Posts: Previous Next
  •  09-12-2008, 04:41 PM 51052

    Erro no servidor do db4o

    Estou testando o db4o no esquema cliente/servidor num único computador, onde "montei" o servidor, usando o exemplo pronto citado nos manuais que vêm junto com o db4o, gerei o executável do servidor com VB .NET e esse "servidor" está instalado nessa própria máquina e como serviço já ativo. Não existe ainda nenhum arquivo YAP gravado no meu PC. Toda vez que executo a busca de um ESTADO (no exemplo abaixo), quando ele chega na abertura da instância client ele dá o erro:

     "System.Net.Sockets.SocketException: Nenhuma conexão pôde ser feita porque a máquina de destino as recusou ativamente"

    Nessa máquina eu tenho também o MySQL instalado e ativo.  Segue abaixo o código que estou rodando no cliente para  buscar um determinado ESTADO pela sigla. Na primeira linha, tanto no servidor, quando no cliente, já mudei o hostname para "localhost" e para o IP do servidor, tanto no programa cliente quando no programa servidor, mas continua dando o mesmo erro. Até já liberei a porta 4563 (usada no exemplo) no firewall, mas não resolveu.

    Me ajudem. Onde estou errando? 

    Dim client As IObjectContainer = Db4oFactory.OpenClient("192.168.254.4", 4563, "Ney", "27t03m63")

    Dim mQuery As Query.IQuery = client.Query

    mQuery.Constrain(GetType(Estado))

    mQuery.Descend("_Sigla").Constrain(Sigla)

    Dim result As IObjectSet = mQuery.Execute()

    If result.Count > 0 Then

    For Each item As Object In result

    Sigla = item.Sigla

    Nome = item.Nome

    Região = item.Região

    Ativo = item.Ativo

    Exit For

    Next

    Else

    Sigla = 0

    End If

    client.Close()

  •  09-12-2008, 08:33 PM 51053 in reply to 51052

    Re: Erro no servidor do db4o

    Ola

    Estranho, este codigo e muito comum (deveria funcionar)

    Pelo erro parece que a maquina destino nao esta executando o servidor (ou o servidor
    esta ouvindo em outra porta).

    Algumas perguntas:

    - Tanto o servidor quanto o cliente rodam na mesma maquina? (nao e necessario; pergunto
    apenas para entender melhor o cenario)

    - 192.168.254.4 � o IP do servidor?

    - A partir do cliente voce conseque dar um ping no servidor?


    Adriano Carlos Verona

    �� db4objects ��


    neybauru wrote:
    > Estou testando o db4o no esquema cliente/servidor num único computador,
    > onde "montei" o servidor, usando o exemplo pronto citado nos manuais que
    > vêm junto com o db4o, gerei o executável do servidor com VB .NET e
    > esse "servidor" está instalado nessa própria máquina e como serviço
    > já ativo. Não existe ainda nenhum arquivo YAP gravado no meu PC. Toda
    > vez que executo a busca de um ESTADO (no exemplo abaixo), quando ele
    > chega na abertura da instância client ele dá o erro:
    >
    > "System.Net.Sockets.SocketException: Nenhuma conexão pôde ser feita
    > porque a máquina de destino as recusou ativamente"
    >
    > Nessa máquina eu tenho também o MySQL instalado e ativo. Segue abaixo
    > o código que estou rodando no cliente para buscar um determinado
    > ESTADO pela sigla. Na primeira linha, tanto no servidor, quando no
    > cliente, já mudei o hostname para "localhost" e para o IP do servidor,
    > tanto no programa cliente quando no programa servidor, mas continua
    > dando o mesmo erro. Até já liberei a porta 4563 (usada no exemplo) no
    > firewall, mas não resolveu.
    >
    > Me ajudem. Onde estou errando?
    >
    > Dim client As IObjectContainer = Db4oFactory.OpenClient("192.168.254.4",
    > 4563, "Ney", "27t03m63")
    >
    > Dim mQuery As Query.IQuery = client.Query
    >
    > mQuery.Constrain(GetType(Estado))
    >
    > mQuery.Descend("_Sigla").Constrain(Sigla)
    >
    > Dim result As IObjectSet = mQuery.Execute()
    >
    > If result.Count > 0 Then
    >
    > For Each item As Object In result
    >
    > Sigla = item.Sigla
    >
    > Nome = item.Nome
    >
    > Região = item.Região
    >
    > Ativo = item.Ativo
    >
    > Exit For
    >
    > Next
    >
    > Else
    >
    > Sigla = 0
    >
    > End If
    >
    > client.Close()
    >
    >
    > ------------------------------------------------------------------------
    > http://developer.db4o.com/forums/thread/51052.aspx
    >
  •  09-13-2008, 05:29 AM 51055 in reply to 51053

    Re: Erro no servidor do db4o

    Adriano,

    Obrigado pela ajuda. Acrescentei as duas linhas abaixo, antes de instanciar o IObjectContainer client e deu certo. Isso está correto?

    Dim server As IObjectServer = Db4oFactory.OpenServer("SDB.Data", 4563)

    server.GrantAccess("Ney", "27t03m63")

View as RSS news feed in XML