Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Arrancar servidor Interbase/Firebird desde Builder

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Arrancar servidor Interbase/Firebird desde Builder Responder citando

Hola chicos estoy intentando arrancar el servidor Interbase/Firebird desde Builder C++, porque a veces sucede cuando arrancas la maquina que se dedica a tareas de servidor, que no se ha arrancado Interbase, incluso aunque está puesto como arranque automatico al inicio del sistema. El codigo en cuestión es este, por ahora no estoy comprobando si ya está ejecutado, simplemente estoy probando que funcione. (Este sería un buen truco para ponerlo en la sección de trucos).

Código:

    TIBConfigService *IBCS_Interbase=new TIBConfigService(this);
    IBCS_Interbase->ServerName="Poulet";
    IBCS_Interbase->LoginPrompt=false;
    IBCS_Interbase->Params->Add("user_name=SYSDBA");
    IBCS_Interbase->Params->Add("password=masterkey");
    IBCS_Interbase->DatabaseName="C:\\Trafico\\trafico.gdb";
    IBCS_Interbase->Active=true;
    try {
        IBCS_Interbase->BringDatabaseOnline();
    } catch (const Exception &e) {
        IBCS_Interbase->Active=false;
        ShowMessage("No se ha podido levantar el servidor");
    }
    delete IBCS_Interbase;


El codigo funciona de la siguiente manera. Si el servicio no estaba arrancado, la primera vez que se ejecute este codigo funciona sin problemas. Te arranca el servidor y puedes seguir funcionando ya sea con BDE, IBX, o lo que sea, ya que lo que hace es arrancarte el servidor. El problema viene cuando por ejemplo apago el servidor haciendo un Shutdown del servidor sobre el administrador de Interbase o el IBGuardian, sucede que al ejecutarlo la segunda vez entonces da un error y no funciona da el error:

...raised excepction class EIBInterBaseError with message 'Cannot attach to services manager'. Process stopped...blah blah blah

Lo gracioso del asunto es que si a continuación abro IBConsole y selecciono una BD, me arranca el motor, entonces cierro IBConsole, a continuación vuelvo a hacer un shutdown de Interbase de la misma forma que antes, pinchando con el boton derecho del raton sobre el icono de Interbase Server que hay en el System Tray y selecciono ShutDown, si vuelvo a ejecutar el codigo va perfectamente otra vez.

Entonces mi pregunta es ? Que sucede ? me falta algun parametro con el que arrancar el servidor, que hace que al hacer el shutdown del servidor la proxima vez de el fallo? (Una pregunta un poco retorcida pero bueno).

Venga alguna sugerencia please.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Bueno depurando IBConsole me he dado cuenta de que no lo hace de esta manera, sino que lo hace mirando en el registro y ejecutando el proceso, en cuanto lo tenga el codigo pasado a Builder lo pondré como truco. Ciao.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Bueno pues ya está terminado el codigo lo teneis aqui:
https://cppbuilder.es/viewtopic.php?t=6181

Al final el metodo es simplemente ir al registro ver donde se encuentra instalado el ibserver y crearlo como proceso llamado. Va estupendamente, yo lo he probado con Firebird, pero debe ir con Interbase, de hecho la entrada del registro que consulta es la de Interbase. Ciao.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.