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
  #1  
Antiguo 15-11-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.354
Poder: 19
Angel.Matilla Va por buen camino
Dicho de otra forma: Me da la impresión que si bsucamos un servicio, con ese código no se encuentra si está ejecutándose o no.
Responder Con Cita
  #2  
Antiguo 15-11-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.108
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Depende de la versión, tendrás que verificar un servicio u otro:
Código:
Superserver -> fbserver
Classicserver -> fb_inet_server
Superclassic -> fb_smp_server
Responder Con Cita
  #3  
Antiguo 15-11-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Fijate si te sirve esta opción,

checkFirebird.h:
Código PHP:
#ifndef checkFirebirdH
#define checkFirebirdH

bool isFirebirdRunningvoid );

#endif 
checkFirebird.cpp:
Código PHP:
#pragma hdrstop

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

#pragma package( smart_init )

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

  
schm OpenSCManagersMachineNULLSC_MANAGER_CONNECT );

  if ( 
schm ) {
    
schs OpenServiceschmsServiceSERVICE_QUERY_STATUS );

    if ( 
schs ) {
      if ( 
QueryServiceStatus schs, &ss ) )
        
dwStat ss.dwCurrentState;
      
CloseServiceHandleschs );
    }

    
CloseServiceHandle schm );
  }
  return 
dwStat;
}

bool isFirebirdRunningvoid )
{
  return 
ServiceStatus"""FirebirdServerDefaultInstance" ) == SERVICE_RUNNING;

Ejemplos de uso:
Código PHP:
...

#include "checkFirebird.h"

...

void __fastcall TForm1::ButtonCheckClickTObject *Sender )
{
  
ShowMessage( (isFirebirdRunning() ? "Servicio de Firebird activo" "Servicio de Firebird inactivo") );
  ...
  if ( 
isFirebirdRunning() )
  ... 
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 16-11-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.354
Poder: 19
Angel.Matilla Va por buen camino
Gracias a los dos. En cuanto pueda lo probaré y os diré como ha ido.
Responder Con Cita
  #5  
Antiguo 22-11-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.354
Poder: 19
Angel.Matilla Va por buen camino
ecfisa: Gracias. Funciona a la perfección.
Responder Con Cita
  #6  
Antiguo 23-11-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.354
Poder: 19
Angel.Matilla Va por buen camino
Estuve haciendo pruebas que como os he dicho funcionan a la perfección. Sin embargo he pensado que tal vez sea más efectivo preguntar por el servicio Firebird Guardian
Código PHP:
bool isFirebirdRunningvoid )
{
  return 
ServiceStatus"""FirebirdGuardianDefaultInstance" ) == SERVICE_RUNNING;

ya que si se lanza este, automátciamente se arranca el servidor. No sé que os parece.
Responder Con Cita
  #7  
Antiguo 24-11-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No veo buena idea preguntar solamente por Firebird Guardian, de echo se usa cuando Firebird es ejecutado como aplicación no como servicio y era esencial en Windows 9x/MS por ejemplo.
Pero con seguridad en los S.O. mas actuales la mayoría opte por no ejecutarlo, lo que no lo haría un indicador fiable de que Firebird esté activo o no.

( What is the Firebird Guardian ? )

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Detectar si un proceso esta activo. deliriun Varios 3 22-09-2015 12:25:54
Saber si un proceso esta activo Anel Hernandez Varios 3 17-01-2012 19:17:16
Como saber si mi servidor de MySQL esta activo o corriendo. rgstuamigo MySQL 5 19-11-2008 22:54:01
Cómo comprobar que el servidor está activo. afxe Conexión con bases de datos 2 09-05-2006 19:31:17
Pregunta básica. Como saber si un valor está activo o no. gluglu Varios 3 16-09-2004 18:34:53


La franja horaria es GMT +2. Ahora son las 20:22:01.


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