Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-03-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
Cita:
Empezado por AzidRain Ver Mensaje
Olvidamos que el servidor podría estar instalado y ejecutándose en otro equipo por lo que nuevamente, el que no exista la dll en el equipo local no es señal de que no esté instalado el servidor.
Yo no lo olvidé y por ello es el comentario que hice.

Bye
Responder Con Cita
  #2  
Antiguo 26-03-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por keyboy Ver Mensaje
Cita:
Empezado por AzidRain Ver Mensaje
Olvidamos que el servidor podría estar instalado y ejecutándose en otro equipo por lo que nuevamente, el que no exista la dll en el equipo local no es señal de que no esté instalado el servidor.
Yo no lo olvidé y por ello es el comentario que hice.

Bye
La forma de comprobar si existe el MySQL (demonio), es mediante el cliente (APIs definidas en libmysql.dll o myodbcX.dll); pues como ya he expuesto comprobar las variaciones de nombre de servicio, ubicación/nombre del archivo(servicio), registro, o puerto de escucha es más complicado que la línea que he puesto en mi primer post.

Última edición por cHackAll fecha: 26-03-2008 a las 21:03:41. Razón: F7
Responder Con Cita
  #3  
Antiguo 26-03-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
No es correcto. Puedes no tener el servidor en marcha, o incluso no tenerlo instalado en absoluto, y tener esa librería. El código que pones la cargará sin problema y no marcará el error. Como ya se ha mencionado, el servidor puede residir en otra máquina.

Por eso digo, si por tener instalado MySQL se entiende tener esa librería entonces tu código la detectará. Pero eso es distinto de tener el demonio activo o siquiera instalado.

Lo recíproco también es cierto. Es decir, puedes tener el servidor instalado pero no tener esa librería. Incluso hay componentes como MyDac que pueden acceder a un servidor MySQL sin la librería.

Bye

Última edición por keyboy fecha: 26-03-2008 a las 21:16:02. Razón: Aclarar
Responder Con Cita
  #4  
Antiguo 26-03-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Tienes toda la razon, con tal idea dime; cómo vas a verificar si el demonio está corriendo en localhost o en cualquier otro equipo remoto?
Responder Con Cita
  #5  
Antiguo 26-03-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
Es una buena pregunta, a la que áun hay que contestar

Posiblemente usaría libmysql, pero no sólo cargándola, sino tratando de establecer una conexión con el servidor. O quizá con telnet, a ver si responde el puerto 3306 o donde se supone que esté instalado.

Bye
Responder Con Cita
  #6  
Antiguo 26-03-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por keyboy Ver Mensaje
Incluso hay componentes como MyDac que pueden acceder a un servidor MySQL sin la librería.
Cita:
Empezado por http://www.crlab.com/mydac/faq.html
What software should be installed on a client computer for MyDAC-based applications to work?

Usually, you do not need any additional files. The only exceptions to this rule are listed below:
  • If you are using MySQL Embedded server (if you are using TMyConnection with TMyConnection.Options.Embedded = True or TMyEmbConnection), you need the server itself (libmysqld.dll) and the service files for it, for example errmsg.sys.
  • If you are connecting in Client mode, (TMyConnection.Options.Direct = False), you need libmysql.dll.
  • If you are using SSL (TMyConnection.Options.Protocol = mpSSL), you need the OpenSSL library files - ssleay32.dll and libeay32.dll.
Cita:
Empezado por keyboy Ver Mensaje
O quizá con telnet, a ver si responde el puerto 3306 o donde se supone que esté instalado.
Cita:
Empezado por my.ini
...
[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3306
...
Efectivamente la conexion se la debe realizar, mediante alguna libreria.

PD: habra que mover el hilo a la sección de debates

Saludos
Responder Con Cita
  #7  
Antiguo 26-03-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
No entiendo la referencia a la documentación de MyDac. De hecho confirma lo que dije a ese respecto: si se usa la opción (por defecto) TMyConnection.Options.Direct = true, no es necesaria ninguna librería.

Y el INI, ¿qué con eso? Si el instalador lo que está verificando es la instalación del demonio, pues algo debe saber de antemano, como es el puerto que esté escuchando. De lo contrario estamos hablando aún más en el aire, y la pregunta original debiera ser: ¿cómo saber si [el servidor de] MySQL está instalado en tal puerto?

No sé bien porqué deba ser un debate. ¿Piensas aún que LoadLibrary es suficiente para determinar si MySQL está instalado?

Yo más bien pienso que hay que seguir buscando opciones de cómo determinarlo. Pero, sobre todo, que el compañero aclare qué es exactamente a lo que se refiere.

Bye
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
Comprobar si se esta conectado a internet Drake OOP 7 21-12-2006 15:38:18
En que pc esta instalado Mysql? pborges36 Conexión con bases de datos 4 30-06-2006 21:43:59
saber si esta php instalado coulthard Internet 4 20-04-2006 19:56:43
FireBird: Winsock 2 no esta instalado JulioGO Firebird e Interbase 1 02-09-2004 19:09:00
como comprobar que está instalado el BDE? lemon-club Conexión con bases de datos 1 14-06-2003 18:49:20


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


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