Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-09-2013
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
No logro conectar una BD

Tengo W7 profesional y estoy arreglando un programa en Borland C++ Builder que tengo hecho con Firebird. El servidor está arrancado.

pero a pesar de esto, cuando lanzo el programa y trato de abrir la base de datos con este código:
Código:
tColegio->Active = false;
Colegio->Connected = false;
Colegio->Params->Clear();
Colegio->DatabaseName = AnsiString(cTablas) + "\\Colegio.gdb";
Colegio->Params->Add("user_name=sysdba");
Colegio->Params->Add("password=masterkey");
Colegio->SQLDialect = 3;
Colegio->Connected = true;
tColegio->Active = true;
me da este error:

Tengo declarada una función DisplayError para gestionar los errores y entra siempre con un código -904, y ya no sé que probar porque lo curioso es que el otro día ¡funcionaba bien! y no he cambiado ni una coma del código. Por cierto: SQL Manager funciona sin problemas y sí veo la base de datos.

He probado tanto con la versión de 32 como con la de 64 bits pero da lo mismo.
Responder Con Cita
  #2  
Antiguo 18-09-2013
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Intenta abrir el administrador de tareas, abre la ficha servicios, ordénalos por orden alfabético busca Interbase?? deten los dos que te aparecen, luego busca por la F deten los de Firebir y vuelve a iniciarlos (solo los de Firebird). Ya nos contarás.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 18-09-2013
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por Angel.Matilla Ver Mensaje
Colegio->DatabaseName = AnsiString(cTablas) + "\\Colegio.gdb";
Esto si que es extraño... Porque no usas la nomenclatura estandar ip:alias, agregas el alias al aliases.conf y listo? Incluso puedes probar con flamerobin a ver si conecta.

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #4  
Antiguo 18-09-2013
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje
Intenta abrir el administrador de tareas, abre la ficha servicios, ordénalos por orden alfabético busca Interbase?? deten los dos que te aparecen, luego busca por la F deten los de Firebir y vuelve a iniciarlos (solo los de Firebird). Ya nos contarás.
Eso es de lo primero que hice. En este momento está activo Firebird y parado Interbase.
Cita:
Empezado por donald shimoda Ver Mensaje
Esto si que es extraño... Porque no usas la nomenclatura estandar ip:alias, agregas el alias al aliases.conf y listo? Incluso puedes probar con flamerobin a ver si conecta.
Probaré; no obstante, está en local.

Última edición por Angel.Matilla fecha: 18-09-2013 a las 20:10:33.
Responder Con Cita
  #5  
Antiguo 18-09-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Angel.Matilla Ver Mensaje
Probaré; no obstante, está en local.
Aunque esté en local debes usar la IP o localhost, como quieras.
Responder Con Cita
  #6  
Antiguo 19-09-2013
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por donald shimoda Ver Mensaje
Esto si que es extraño... Porque no usas la nomenclatura estandar ip:alias, agregas el alias al aliases.conf y listo? Incluso puedes probar con flamerobin a ver si conecta.
A ver: Con Flamerobin, lo mismo que con SQL Manager, sí conecta, me deja crear tablas y verlas. El fichero aliases.conf no lo he usado nunca y no sé como va.

No obstante, esta aplicación tiene que correr en una red con dos o tres puestos; normalmente yo pongo el nombre de la base de datos como \\Servidor\Tablas\BBDD.gdb, ¿cómo tendría que hacer la declaración para usar ese aliases.conf?
Responder Con Cita
  #7  
Antiguo 19-09-2013
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por Angel.Matilla Ver Mensaje
A ver: Con Flamerobin, lo mismo que con SQL Manager, sí conecta, me deja crear tablas y verlas. El fichero aliases.conf no lo he usado nunca y no sé como va.

No obstante, esta aplicación tiene que correr en una red con dos o tres puestos; normalmente yo pongo el nombre de la base de datos como \\Servidor\Tablas\BBDD.gdb, ¿cómo tendría que hacer la declaración para usar ese aliases.conf?
Si bien es o(oera , hace rato que no tengo lo uso asi que no estoy seguro) acceder de esa manera a un archivo de base de datos firebird, lo recomendado es hacerlo de la manera que te indique:

ip_del_servidor:alias_de_la_base

Mira el aliases.conf ubicado en la carpeta de install de firebird y te vas a dar cuenta muy sencillo como crear un alias. Intenta lo que te digo y funciona a la primera. El puerto 3050 del servidor debe estar abierto, claro.

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #8  
Antiguo 19-09-2013
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por donald shimoda Ver Mensaje
El puerto 3050 del servidor debe estar abierto, claro.
Cuando he visto lo del puerto me he acordado que no lo había abierto , pero he omprobado que da lo mismo.

Cita:
Empezado por donald shimoda Ver Mensaje
ip_del_servidor:alias_de_la_base

Mira el aliases.conf ubicado en la carpeta de install de firebird y te vas a dar cuenta muy sencillo como crear un alias. Intenta lo que te digo y funciona a la primera.
Ok. EL fichero lo tengo localizado. Ahora mismo contiene esto:
Cita:
#
# List of known database aliases
# ------------------------------
#
# Examples:
#
# dummy = c:\data\dummy.fdb
#
COLEGIO on localhost = C:\DatCol\Tablas\COLEGIO.GDB
La última línea yo no se la he puesto pero supongo, con lo que me dices, ¿debería poner en DatabaseName del TIBDatabase en vez de la vía absoluta localhost:COLEGIO? Probaré.
Responder Con Cita
  #9  
Antiguo 19-09-2013
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Bien. He hecho una prueba con el fichero que he puesto antes y me da este error:

La diferencia que es tras no encontrar la BD, que sí existe, en lugar de saltar el mensaje del servidor me salta el de que no existe la base de datos. Seguimos probando, pero ahora me surge otra duda. Al instalar la aplicación en una red, ¿cómo averiguo cual es la IP del servidor desde cada puesto? Y tiene que ser algo para que lo entienda yo, o sea: para tontos.
Responder Con Cita
  #10  
Antiguo 19-09-2013
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
De lo del error del mensaje inmediato anterior no he dicho nada; me ha bastado con dejar en la línea sólo el nombre del alias y la dirección (COLEGIO = C:\DatCol\Tablas\Colegio.gdb). El resto del mensaje sigue vigente.
Responder Con Cita
  #11  
Antiguo 19-09-2013
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por Angel.Matilla Ver Mensaje
Cuando he visto lo del puerto me he acordado que no lo había abierto , pero he omprobado que da lo mismo.


Ok. EL fichero lo tengo localizado. Ahora mismo contiene esto:
La última línea yo no se la he puesto pero supongo, con lo que me dices, ¿debería poner en DatabaseName del TIBDatabase en vez de la vía absoluta localhost:COLEGIO? Probaré.
ç

en aliases.conf

COLEGIO = C:\DatCol\Tablas\COLEGIO.GDB

en tu aplicacion accedes por IP:COLEGIO

Asi de sencillo. Puedes probar en flamerobin antes si funciona.

Si es la misma pc en ip puedes usar 12.0.0.1
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #12  
Antiguo 19-09-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por donald shimoda Ver Mensaje
Si es la misma pc en ip puedes usar 12.0.0.1
127.0.0.1

Se perdió un 7
Responder Con Cita
  #13  
Antiguo 19-09-2013
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
127.0.0.1

Se perdió un 7
Si, eso, eso
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
consulta mysql que no logro entender gulder MySQL 2 14-02-2012 14:54:51
no logro conexion MOCOSO07 Conexión con bases de datos 3 27-09-2010 21:47:27
No logro group by ebeltete Firebird e Interbase 3 18-05-2010 07:18:07
No logro Levantar un SpeedButton darkerbyte Varios 3 02-07-2008 15:08:51
No logro que funcionen un FOREIGN KEY orfeo MySQL 2 16-07-2003 19:52:58


La franja horaria es GMT +2. Ahora son las 21:48:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi