Ver Mensaje Individual
  #4  
Antiguo 21-07-2017
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
Gracias por la respuesta. Vamos allá.
  • El servidor tiene que estar instalado en el ordenador que haga de servidor. OK
  • Este ordenador tendrá una IP asignada ??
  • El puerto TCP/3050 debe estar abierto para permitir conexiones desde la red. OK
  • La base estará en una carpeta OK
  • La base de datos tendrá un nombre y una extensión .FDB OK
  • El servidor de base de datos, tiene un nombre de usuario y contraseña por defecto (SYSDBA - masterkey) que pueden cambiarse y dependiendo de la instalación quizás sea una contraseña generada al azar y que estará un un fichero en la misma carpeta donde se ha instalado (Linux normalmente) OK (pero la instalación es en Windows)
  • El fichero de configuracion de Firebird tiene un item donde dice desde qué IPs externas se puede conectar. (En una instalación en Ubuntu he tenido que tocarlo). ??
Con esto debes conectar desde otros ordenadores con

Windows: 192.168.1.1:C:\Datos\Base.FDB >> Estoy tratando de acceder con Servidor/3050:D:\DatAfi30\Tablas\Afiliados.fdb

Cita:
Empezado por duilioisola
En los clientes hago la instalación mínima. Esto pone cada cosa en su lugar.
En la otra instalación que tengo hecha de esta aplicación creo recordar pero no estoy 100% seguro que en el puesto no se puso nada más que la librería

Cita:
Empezado por duilioisola
Todo depende del mensaje de error...
Si te dice algo como '#10060', es normalmente un problemda de red.
Si te dice algo como 'username or password incorrecto', es nombre de usuario y contraseña.
si te dice algo como 'file not found' puede ser que la base no esté donde la buscar o que no coinciden mayúsculas y minúsculas (linux).

Envía el mensaje de error sin tocar ni traducir para que podamos ayudarte un poco mas...
Esto último va a ser más complicado porque en la instalación tengo montada una minigestión de errores y genero yo los mensajes que me interesan. El mensaje que se muestra al arrancar me avisa que el servicio FB no está activo; es casi lo primero que hago al lanzar la aplicación: validar que FB está arrancado. Sí he comprobado que en el servidor la aplicación se lanza bien y sin problemas. La validación la hago con esto:
Código:
try
{
     if (!isFirebirdRunning())
          throw Exception("El servicio Firebird no está activo.\nRevise su estado en:\n\n· Panel de control\n· Herramientas administrativas\n· Servicios\n· Firebird Server");

     Application->Initialize();
     Application->Title = cVersion;
     Application->CreateForm(__classid(TfPersona), &fPersona);
     Application->Run();
}
catch (Exception &exception)
{
     Application->ShowException(&exception);
}
Y la función llamada es esta:
Código:
#pragma hdrstop

#include "checkFirebird.h"
#include "WinSvc.hpp"

#pragma package(smart_init)
//---------------------------------------------------------------------------

DWORD ServiceStatus(const char* &sMachine, const char* &sService)
{
     SC_HANDLE schm, schs;
     TServiceStatus ss;
     DWORD dwStat = 0;

     schm = OpenSCManager(sMachine, NULL, SC_MANAGER_CONNECT);

     if (schm > 0)
     {
          schs = OpenService(schm, sService, SERVICE_QUERY_STATUS);

          if (schs > 0)
          {
               if (QueryServiceStatus(schs, &ss))
                    dwStat = ss.dwCurrentState;
               CloseServiceHandle(schs);
          }
          CloseServiceHandle ( schm );
     }
     return dwStat;
}
//---------------------------------------------------------------------------

bool isFirebirdRunning(void)
{
     return ServiceStatus("", "FirebirdServerDefaultInstance") == SERVICE_RUNNING;
}
//---------------------------------------------------------------------------
Creo recordar que la saqué de este foro.
Responder Con Cita