Ir al contenido


Foto

unavailable database cuando no hay red


  • Por favor identifícate para responder
31 respuestas en este tema

#21 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 14 octubre 2013 - 03:24

¿No sera que en tu componente de conexión tienes alguna IP fijada y dicho componente esta Connected = True, lo que causaría que antes de cargar tus configuraciones del .INI soltará ese error?, digo, es algo que se me ocurre, muchas veces la respuesta más obvia es la correcta.

P.D: Ojala no me pase lo mismo que ha Fenareth que le ignoraron la sugerencia jajaja


Pues no, eso pensé incialmente, pero si dejas en true la conexión cuando quieres modificarla salta un pavoroso error de que no se puede modificar la conexión estando abierta., (de cualquier forma ya lo chequé) :)


....

P.D: Ojala no me pase lo mismo que ha Fenareth que le ignoraron la sugerencia jajaja


: : : : : : :

Déjalos Jhonny, ya sabes como son de groseros  :p :p :p :D :D :D

Saludox ! :)


Epale!!!!

Si te contesté :(

Saludos
  • 0

#22 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 14 octubre 2013 - 05:12

¿Podríamos ver un poquito del código? Utiliza los breakpoints y muestranos el código que rodea a la línea interrumpida.
Asi podremos tener una mejor idea de lo que está sucediendo.

Porque hasta ahora lo único que me imagino es que tienes algún proceso/algoritmo que requiere explícitamente de una conexión hacia "el exterior".
Si dices que sólo funciona en un ambiente en donde dispones de una red establecida es porque de algún modo tu software así lo está pensado, y naturalmente al no haber red no va a conectarse.
Si tu dices que tu base de datos es local, como dicen los demás... no debiera importar que haya o no red... debiera de bastar con indicarle la ruta con el alias localhost o su IP equivalente. Y esto es motivo de sospecha de que hay algo más que hace tu software.

Había pensado antes que podría tratarse de que no está instaladas las funciones de red asociadas a TCP-IP, pero tratándose de tu propio equipo y que si se conecta descarto mi hipótesis inicial.

Saludos,
  • 0

#23 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 14 octubre 2013 - 09:58

¿Podríamos ver un poquito del código? Utiliza los breakpoints y muestranos el código que rodea a la línea interrumpida.
Asi podremos tener una mejor idea de lo que está sucediendo.

Porque hasta ahora lo único que me imagino es que tienes algún proceso/algoritmo que requiere explícitamente de una conexión hacia "el exterior".
Si dices que sólo funciona en un ambiente en donde dispones de una red establecida es porque de algún modo tu software así lo está pensado, y naturalmente al no haber red no va a conectarse.
Si tu dices que tu base de datos es local, como dicen los demás... no debiera importar que haya o no red... debiera de bastar con indicarle la ruta con el alias localhost o su IP equivalente. Y esto es motivo de sospecha de que hay algo más que hace tu software.

Había pensado antes que podría tratarse de que no está instaladas las funciones de red asociadas a TCP-IP, pero tratándose de tu propio equipo y que si se conecta descarto mi hipótesis inicial.

Saludos,


Pues éste es el código:



delphi
  1. procedure TModulodeDatos.DataModuleCreate(Sender: TObject);
  2. begin
  3.   IBDatabaseINI1.FileName := ExtractFilePath(Application.ExeName) + 'Recibos.ini';
  4.   IBDatabaseINI1.ReadFromINI;
  5.   IBDatabase1.DatabaseName := IBDatabaseINI1.DatabaseName;
  6.   IBDatabase1.Params.Values['user_name'] := IBDatabaseINI1.Username;
  7.   IBDatabase1.Params.Values['password'] := IBDatabaseINI1.Password;
  8.   IBDatabase1.Open;
  9. end;



Y ésto es lo que contiene el archivo INI:

[ini]
[Database Settings]
database=C:\Proyectos\Proyectos 2012\RecHono\Base\RECHONO.FDB
user_name=SYSDBA
password=masterkey
[/ini]

No veo nada raro :(

Saludos
  • 0

#24 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 15 octubre 2013 - 02:48

Tienes mal el database!

En FireBird el database tiene que empezar por una ip, luego dos puntos, y luego la ruta en el servidor del fichero. Incluso si es local TIENES que poner delante 127.0.0.1 o localhost, así que deberías cambiar la base de datos a:

database=localhost:C:\Proyectos\Proyectos 2012\RecHono\Base\RECHONO.FDB

¿Que pasa si no lo pones? Que en algunas versiones de fbclient.dll -en otras no- se intenta averiguar la IP del fichero tirando de la red de windows. Por ejemplo, no es correcto poner "miservidor//c/fichero.fdb", pero si lo haces algunas versiones tratarán de resolver "miservidor//" a una IP, y eso es lo que te puede dar error de red.

Prueba y nos cuemtas!
  • 0

#25 Jhonny

Jhonny

    Member

  • Miembros
  • PipPip
  • 29 mensajes

Escrito 15 octubre 2013 - 06:22

Bueno, pienso yo que se supone que si la ruta es local, como la que ha colocado egostar, Firebird utilizaría su protocolo XNET para conectarse a la BD, por lo que no sería necesario colocarle una ruta de red.

Por otro lado ¿que pasaría si encierras la ruta entre comillas simples en el .ini?, ¿será que funciona?...

[ini]database="C:\Proyectos\Proyectos 2012\RecHono\Base\RECHONO.FDB"[/ini]
  • 0

#26 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 15 octubre 2013 - 07:33

Tienes mal el database!

En FireBird el database tiene que empezar por una ip, luego dos puntos, y luego la ruta en el servidor del fichero. Incluso si es local TIENES que poner delante 127.0.0.1 o localhost, así que deberías cambiar la base de datos a:

database=localhost:C:\Proyectos\Proyectos 2012\RecHono\Base\RECHONO.FDB

¿Que pasa si no lo pones? Que en algunas versiones de fbclient.dll -en otras no- se intenta averiguar la IP del fichero tirando de la red de windows. Por ejemplo, no es correcto poner "miservidor//c/fichero.fdb", pero si lo haces algunas versiones tratarán de resolver "miservidor//" a una IP, y eso es lo que te puede dar error de red.

Prueba y nos cuemtas!

Pero el asunto es que se trata de un mismo equipo que se mueve de un lugar a otro, por tanto se trataría de la misma versión de fbclient, el mismo ejecutable. Por lo que si le anda en un lugar y no en otro es que no es cosa de la dll, sino no funcionaría nunca.

Asi al menos lo estoy entendiendo yo según las explicaciones de Eliseo. El tiene en su equipo portatil un sistema que le anda mientras está en su propia conexión inalámbrica pero cuando está fuera no le funciona.

Por ello yo me digo que hay algo en su sistema que se nos está escapando.

Saludos,
  • 0

#27 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 15 octubre 2013 - 07:54

Tienes mal el database!

En FireBird el database tiene que empezar por una ip, luego dos puntos, y luego la ruta en el servidor del fichero. Incluso si es local TIENES que poner delante 127.0.0.1 o localhost, así que deberías cambiar la base de datos a:

database=localhost:C:\Proyectos\Proyectos 2012\RecHono\Base\RECHONO.FDB

¿Que pasa si no lo pones? Que en algunas versiones de fbclient.dll -en otras no- se intenta averiguar la IP del fichero tirando de la red de windows. Por ejemplo, no es correcto poner "miservidor//c/fichero.fdb", pero si lo haces algunas versiones tratarán de resolver "miservidor//" a una IP, y eso es lo que te puede dar error de red.

Prueba y nos cuemtas!


Ya lo he hecho, 127.0.0.1, localhost y hostname y es lo mismo.

Bueno, pienso yo que se supone que si la ruta es local, como la que ha colocado egostar, Firebird utilizaría su protocolo XNET para conectarse a la BD, por lo que no sería necesario colocarle una ruta de red.

Por otro lado ¿que pasaría si encierras la ruta entre comillas simples en el .ini?, ¿será que funciona?...

[ini]database="C:\Proyectos\Proyectos 2012\RecHono\Base\RECHONO.FDB"[/ini]


Lo haré y te aviso amigo jhonny :)


Tienes mal el database!

En FireBird el database tiene que empezar por una ip, luego dos puntos, y luego la ruta en el servidor del fichero. Incluso si es local TIENES que poner delante 127.0.0.1 o localhost, así que deberías cambiar la base de datos a:

database=localhost:C:\Proyectos\Proyectos 2012\RecHono\Base\RECHONO.FDB

¿Que pasa si no lo pones? Que en algunas versiones de fbclient.dll -en otras no- se intenta averiguar la IP del fichero tirando de la red de windows. Por ejemplo, no es correcto poner "miservidor//c/fichero.fdb", pero si lo haces algunas versiones tratarán de resolver "miservidor//" a una IP, y eso es lo que te puede dar error de red.

Prueba y nos cuemtas!

Pero el asunto es que se trata de un mismo equipo que se mueve de un lugar a otro, por tanto se trataría de la misma versión de fbclient, el mismo ejecutable. Por lo que si le anda en un lugar y no en otro es que no es cosa de la dll, sino no funcionaría nunca.

Asi al menos lo estoy entendiendo yo según las explicaciones de Eliseo. El tiene en su equipo portatil un sistema que le anda mientras está en su propia conexión inalámbrica pero cuando está fuera no le funciona.

Por ello yo me digo que hay algo en su sistema que se nos está escapando.

Saludos,


No exactamente, no funciona cuando no hay red conectada, cuando hay red, en cualquier parte, en mi casa, en casa de mi madre, en casa de mis suegros, en casa de mis amigos, etc.... funciona sin problema.

Saludos
  • 0

#28 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 15 octubre 2013 - 08:54

Pues ya me dejas en blanco.
¿Solamente en esa parte del código salta el problema amigo? Porque no debiera de darte problemas, si es que efectivamente tu base de datos es puramente local tal como se ve en el código. Y no debiera haber dificultades en que aceptase Localhost o 127.0.0.1. Recuerda que aún siendo local Firebird necesita la ruta completa, o un alias de la misma (aunque también se puede modificar en sus parámetros de configuración para que acepte rutas relativas hacia un directorio en particular en donde van a alojarse todas las bases de datos)

Lo que resulte extraño es que funcione en cuanto hay red y no cuando no la hay... esto me hace pensar de que en tu equipo tienes activada alguna función que permite deshabilitar tu placa de red y/o los servicios de red TCP-IP. Algunos portátiles para ahorro de energía tienen la posibilidad de deshabilitar directamente toda la red. ¿No vendrá por aquí la mano?
Es eso o es que en algún otro punto de tu sistema se intenta acceder al "exterior".

Saludos,
  • 0

#29 razadi

razadi

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 681 mensajes
  • LocationMéxico D.F.

Escrito 15 octubre 2013 - 11:26

Saludos amigo.

Ya revisaste el archivo services del system32??? digo a lo mejor no tiene que ver, pero yo tuve un problema similar aunque con otro controlador de datos pero lo solucione poniendo:

gds_db          3050/tcp        fb            #Firebird

en dicho archivo.

Espero te sirva saludos. (y)
  • 0

#30 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 15 octubre 2013 - 11:53

Saludos amigo.

Ya revisaste el archivo services del system32??? digo a lo mejor no tiene que ver, pero yo tuve un problema similar aunque con otro controlador de datos pero lo solucione poniendo:

gds_db          3050/tcp        fb            #Firebird

en dicho archivo.

Espero te sirva saludos. (y)


Gracias amigo, ya lo verifico.

Saludos
  • 0

#31 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 15 octubre 2013 - 08:31


Saludos amigo.

Ya revisaste el archivo services del system32??? digo a lo mejor no tiene que ver, pero yo tuve un problema similar aunque con otro controlador de datos pero lo solucione poniendo:

gds_db          3050/tcp        fb            #Firebird

en dicho archivo.

Espero te sirva saludos. (y)


Gracias amigo, ya lo verifico.

Saludos


Pues si, si está en el archivo services

[tt]
gds_db          3050/tcp                          #Firebird
rad_xe3          3053/tcp                          #InterBase Server
rad_ibxe3        3054/tcp                          #InterBase Server
instance2        3055/tcp                          #InterBase Server
[/tt]

Saludos
  • 0

#32 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 16 octubre 2013 - 07:20

Por el lado del servicio asociado al nombre/puerto no es la cosa, de ser así no te habrías podido conectar nunca... aún habiendo red.
Mi sospecha es que algo te deshabilita la red amigo. Se te desconecta todo lo que es funciones de red.

En donde tengas problemas, haz un ipconfig /all y fíjate que te aparece.
Hace un tiempo en el equipo de mi padre no había forma de que agarrase red. Era como si no hubiera placa inalámbrica alguna... no aparecía ni instalada. Todo por el botoncito frontal disimulado que se había corrido hacia OFF. Con poner en ON ya volvió a la normalidad y tomaba red tanto por cable como la señal inalámbrica.
En el interín estuve investigando y por lo que me pude enterar, la deshabilitación puede darse no sólo manualmente. Las placas con las que vienen no son de la mejor calidad y hay reportes de que se deshabilitan solas. Los equipos vienen con una configuración en la que para ahorrar energía apagan los dispositivos.

Si bien esto puede que no sea la causa real y directa de tu problema, es posible que tenga algún efecto en tu equipo y afecte en algo.

De todas formas lo que digo es que es algo raro, porque es como si tu sistema necesitara si o si de red para funcionar. Y que en algunos casos si te toma y en otros no, es para pensar que hay algo en tu equipo que "apaga" las funciones de red.
Pero dejando de lado esto de si red vs no red... y si nos centramos en lo que es Firebird...
Ahora que lo pienso ¿No será de que algo te cierre los servicios Guardían y Server de Firebird? Entra a ver el log de Firebird si por casualidad no hay algo...

Saludos,
  • 0




IP.Board spam blocked by CleanTalk.