Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 18-05-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cita:
Empezado por donald shimoda Ver Mensaje
Justamente es el caso opuesto, en este caso dejo de funcionar con una versión previa (win98) no con una versión posterior (win 2000 o superior) por tanto si esta usando IPC debería funcionar de igual manera. De ahi mi "asi que"...
No hombre, estamos hablando de Windows 2.008 y no de Windows 98.

Eso creo, al menos.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #22  
Antiguo 18-05-2010
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 guillotmarc Ver Mensaje
No hombre, estamos hablando de Windows 2.008 y no de Windows 98.

Eso creo, al menos.

Saludos.
Tenes toda la razón , se me cruzaron los cables mal. me confundí con otro post de DA! :P
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #23  
Antiguo 19-05-2010
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 21
sur-se Va por buen camino
Hola.
No, puede ser el problema el protocolo de red que indicas (IPC vs XNET), pues la cadena de conexión que utilizo es de la forma <nombre del servidor>:<ruta local a la base de datos>. Los equipos que están en red no conectan con la base de datos tampoco. Es decir, ni desde el propio servidor (con localhost o con el nombre de red) ni desde los equipos cliente.
Ahora bien, cambio a 2.1 y si funciona sin cambiar nada en los equipos clientes. Inexplicable.
Un saludo.
Responder Con Cita
  #24  
Antiguo 19-05-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Ya me parecía a mi que el código de error no se correspondía a ese problema, aún así es lo primero que se viene a la cabeza en un Windows con servicios de Terminal.

Googleando ese error, parece ser que en lugar de localhost tienes que usar la dirección IP (supongo que se refiere a eso cuando habla de node address).

http://tech.groups.yahoo.com/group/f.../message/54779

Pruébalo.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #25  
Antiguo 19-05-2010
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 21
sur-se Va por buen camino
Hola. Normalmente el servidor lo suelo dejar dedicado, como es este caso, por lo que no se trabaja en él. La cadena de conexión que utilizo siempre es <nombre del servidor>:<ruta local a la base de datos>.
En el propio servidor también he probado así, es decir, como si fuese una conexión de red.
La cuestión es que no conectan ni los equipos de la red ni desde el propio servidor con esa cadena de conexión. No suelo utilizar lo del localhost salvo excepciones.
Ahora bien, desinstalo 1.5 e instalo el 2.x y ya funciona bien todo. La misma aplicación, con la misma cadena de conexión.
El cortafuegos está abierto por ese puerto (3050) y el remoto (que lo fijo en el firebird.conf). De hecho, si no fuese así tampoco funcionaría el 2.x.
No sé que más mirar.
Un saludo.
Responder Con Cita
  #26  
Antiguo 19-05-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Ya sé que parece una tontería, pero para descartar lo que dice Helen Borrie en ese hilo, ¿ puedes probar usando la dirección IP en lugar del nombre de servidor ?.

Ejplo.: 10.0.0.125:C:\Datos\CLIENTES.DAT
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #27  
Antiguo 19-05-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Por cierto, el "Cannot attach to services manager" parece que indica que el Servidor no ha arrancado en absoluto.

¿ Puedes ir al panel de control, herramientas administrativas, Services, y comprovar que el servicio Firebird Server esté arrancado ?, además, como prueba adicional, paralo un momento y a continuación arrancalo manualmente. A ver si arranca bien o da un error (como también parece indicar el "control services error 1061" del Firebird.log).
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #28  
Antiguo 19-05-2010
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Por si sirve de algo...
Acabo de mirar un cliente que recordaba que tiene un servidor Win2008.
Tiene la versión Firebird 1.5.2 funcionando.
Puede hacer backups y restores correctamente.
Puede conectarse con IBExpert
Puede conextarse con su aplicación.
Responder Con Cita
  #29  
Antiguo 19-05-2010
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 21
sur-se Va por buen camino
SOLUCIONADO !!!!

..... bueno, pongo la solución, evidentemente. Pero primero que nada gracias a todos por vuestra ayuda.

El problema era una tontería. Yo ya me lo imaginaba .... Si es que por estas cosas yo siempre prefiero servidores linux con CentOS ...

Pues bien, en windows 2008 cuando se instala el firebird lo hace en c:\Archivos de programa\Firebird\Firebird_1_5 (en la versión en Español).
Por el nuevo sistema de rutas para los programas, realmente es c:\Program Files.
Esto parece una tontería, pero resulta que la versión 1.5.6 no es capaz de gestionar bien esto nuevo y no consigue acceder a la base de datos security.fdb.
El resultado es que no entra nadie porque no se puede acceder a la base de datos de usuarios. He editado el fichero firebird.conf para cambiar el rootdirectory y ponerlo fijo a c:\Program Files\Firebird\Firebird_1_5 y ahora si funciona.
He podido crear los usuarios de la base de datos y ya todo funciona bien.
Una tontería, ya lo sé, pero tenía que funcionar...
Ahora puedo ir tranquilamente adaptando la aplicación al 2.x (bueno corrigiendo los errores de los alias) y demás.
Un saludo
Responder Con Cita
  #30  
Antiguo 19-05-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

¿Ya probaste usando la IP del servidor en la cadena de conexión? Si funciona podría ser que necesitas hacer que a tu servidor lo puedan ver las otras PC's de la red, esto es, en el "Centro de redes y recursos compartidos" de W2K8 hay una opción que indica si las otras PC's de la red pueden ver a tu servidor.

Yo tenía un problema similar, no podía conectarme a un servidor vía su nombre pero si por su IP, activé esa opción y poblema solucionado...



Saludos...
Responder Con Cita
  #31  
Antiguo 19-05-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Vaya... por no refrescar la página antes de contestar mi sugerencia llegó demasiado tarde xDDD
Responder Con Cita
  #32  
Antiguo 19-05-2010
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 sur-se Ver Mensaje
Pues bien, en windows 2008 cuando se instala el firebird lo hace en c:\Archivos de programa\Firebird\Firebird_1_5 (en la versión en Español).
Por el nuevo sistema de rutas para los programas, realmente es c:\Program Files.
Esto parece una tontería, pero resulta que la versión 1.5.6 no es capaz de gestionar bien esto nuevo y no consigue acceder a la base de datos security.fdb.
No lo entiendo, en español es "Archivos de programa" y en inglés es "Program Files", pero eso nunca ha sido un problema para firebird
Responder Con Cita
  #33  
Antiguo 19-05-2010
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 21
sur-se Va por buen camino
Hola. No en XP y anteriores. En Windows 7 y en WS2008, realmente es c:\Program Files y para cada idioma se mapea a c:\Archivos de programa o el que sea en otros idiomas. Más o menos eso me parece, no soy ningún experto en Windows.

Realmente el sistema operativo entiende c:\Program Files, porque de hecho cuando se instala la aplicación te pone c:\Program Files\Firebird\Firebird_1_5 y no C:\Archivos de Programa\Firebird\Firebird_1_5 como ocurría en XP o anteriores.

Quizás algún experto en WS2K8 pueda ilustrarnos sobre ello, pero lo que si te aseguro que ha sido cambiar eso y ya funcionaba el 1.5.6.

por otra parte, estoy preparando un ejemplo de lo del drop table para ver si tiene solución, ya que salió en el hilo.

Un saludo.
Responder Con Cita
  #34  
Antiguo 19-05-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No lo entiendo, en español es "Archivos de programa" y en inglés es "Program Files", pero eso nunca ha sido un problema para firebird
Yo he tenido problemas con esto con Firebird 2 (que es la que uso por defecto) en Windows Vista (imagino que con Win 7, 2008, etc. ... ocurre lo mismo).

Si sobre el servidor accedo en local como C:\Program Files\Prog\Datos.dat, entonces los clientes no pueden conectar como servidor:C:\Archivos de Programa\Prog\Datos.dat.

Todas las máquinas tienen que conectar usando Program Files, o bien Archivos de Programa (que es un symlink a Program Files), pero no se pueden mezclar.

¿ Seguro que te preguntas porqué hago una cosa tan estúpida ?.

Es una herencia del proceso de instalación que creé cuando solo existía "Archivos de Programa". La instalación en los clientes me deja la cadena de conexión en "C:\Archivos de Programa" que es el valor que usaba por defecto en Windows 95/98/ME/XP/... (si uso otra carpeta del servidor, tengo que modificar el ini manualmente). En cambio en el Servidor, como el instalador sabe perfectamente la carpeta donde se realiza la instalación, modifica la cadena de conexión (y la deja en Program Files).

En definitiva, que para evitar estos problemas (y no hacer chapuzas en la instalación de que si el S.O. es uno utilizo una cadena por defecto, y otro, otra cadena), lo que he terminado haciendo es no utilizando para nada la carpeta "Archivos de Programa", y a partir de ahora colgar directamente mis programas de una subcarpeta en la raíz (con lo que también me ahorro muchos problemas de restricciones por seguridad que Vista/7 añaden a lo que se encuentra en Archivos de Programa).
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #35  
Antiguo 19-05-2010
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
Esas cosas no me pasan porque siempre uso servidores linux
Responder Con Cita
  #36  
Antiguo 19-05-2010
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 21
sur-se Va por buen camino
je je .. uno de mi opinión ... a mi me pasa igual .. siempre que puedo servidor linux ...

pero hay clientes que se "encasquetan" con el güindous.
Responder Con Cita
  #37  
Antiguo 19-05-2010
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 21
sur-se Va por buen camino
Bueno, el tema del borrado de la tabla. No sé si debería ir en otro hilo, pero bueno, como salió aquí, pues a ver si Donald puede ayudarme, o algún otro compañero. Es un ejemplo sencillo sin controles de errores ni similar. Es para que lo veáis.

Coloco en la pantalla 5 botones:
button1 --> conectar con la Bd
button5 --> desconectar de la bd
button3 --> crear un tabla y commit
button2 --> ejecutar proceso de inserts y commit
button4 --> borrar la tabla creada commit

Un label1 para poner un texto.

En pantalla los componentes fibplus:
FIBdatabase para conectar con la BD
una pareja fibtransaction1/fibquery1
otra pareja fibtransaction2/fibquery2

Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
     pFIBDatabase1.Connected:=true;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
     pFIBDatabase1.Connected:=false;
end;

procedure TForm1.pFIBDatabase1AfterConnect(Sender: TObject);
begin
     label1.caption:='Conectada';
end;

procedure TForm1.pFIBDatabase1AfterDisconnect(Sender: TObject);
begin
     label1.caption:='Desconectado';
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
     pFIBTransaction2.StartTransaction;
     with pFIBQuery2 do
     begin
          close;
          sql.clear;
          sql.add('INSERT INTO TMPPRUEBA( C1, C2) VALUES (:c1, :c2)');
          Prepare;
          for i:=1 to 100 do
          begin
               ParamByName('c1').value:=i;
               ParamByName('c2').value:=i;
               ExecQuery;
          end;
          close;

     end;
     pFIBTransaction2.Commit;
     showmessage('Terminado');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
     pFIBTransaction1.StartTransaction;
     with pFIBQuery1 do
     begin
          close;
          sql.clear;
          sql.Add('CREATE TABLE TMPPRUEBA ( C1 INTEGER, C2 INTEGER )');
          ExecQuery;
     end;
     pFIBTransaction1.Commit;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
     pFIBTransaction1.StartTransaction;
     with pFIBQuery1 do
     begin
          close;
          sql.clear;
          sql.Add('DROP TABLE TMPPRUEBA ');
          ExecQuery;
     end;
     pFIBTransaction1.Commit;
end;
Se conecta con la Bd, se crea la tabla, se ejectua el proceso, se borra la tabla.
Si el servidor es 1.5, funciona bien. Si es 2.x al borrar la tabla da un error de "object metadata in use".
Todo tiene sus commits correspondientes.
En 2.x, después de crear y ejectuar, si desconecto de la bd y vuelvo a conectar ya puedo borrarla.
Un saludo.
Responder Con Cita
  #38  
Antiguo 19-05-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
¿ Utilizas la última versión disponible de Firebird 2.1 (2.1.3) ?. Parece claro que la tabla queda bloqueada más allá del tiempo durante el que realizas la transacción (y solo se desbloquea al desconectar la base de datos).

Normalmente estos problemas los suelen solventar en las actualizaciones de cada nueva versión de Firebird.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #39  
Antiguo 19-05-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Esas cosas no me pasan porque siempre uso servidores linux
Yo no puedo hacerlo, mi programa lo pongo en tiendas, y lo normal es que haya dos, tres ordenadores de promedio.

Utilizan uno de los ordenadores como servidor y cliente a la vez.

No puedo decirles que añadan un servidor Linux dedicado, así que me toca lidiar con Windows y sus tonterías.

__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #40  
Antiguo 19-05-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Sobre el detalle de las rutas especiales en Windows, el mismo S.O. ofrece funciones para saber cuales son esas rutas.

La mayoría de los generadores de instaladores son capaces de obtener esas rutas no importa que versión de Windows es y desde tus aplicaciones de delphi solo necesitas usar las funciones del API. Busquen información sobre la función: SHGetSpecialFolderPath, a mi me ha evitado muchos dolores de cabeza...


Saludos...
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
Dlephi 6 - Windows 7 - SQL Server 2008 andresu723 MS SQL Server 0 14-04-2010 16:33:50
Instalacion de Servicio Windows Server 2008 genius Varios 2 27-12-2009 23:44:04
Problema DBExpress en Windows Server 2008 cmagno Conexión con bases de datos 0 12-02-2009 14:39:11
firebird y .net 2008 voldemmor .NET 0 27-11-2008 17:15:54
No más Windows XP a partir de 2008 kinobi Noticias 15 17-04-2007 19:57:13


La franja horaria es GMT +2. Ahora son las 04:58:58.


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