Ping Serveur MySQL à l'Aide de JDBC
Cela semble plutôt simple (pas pour moi)...
Comment envoyer une requête ping au serveur mysql à l'aide de JDBC? j'ai utilisé avec succès sélectionner et insérer des requêtes avec JDBC et MySQL, mais comment le ping???
TIA
- Si vous ne savez pas comment faire, comment voulez-vous c'est simple?
Vous devez vous connecter pour publier un commentaire.
Le pilote JDBC MySQL (Connector/J) fournit un mécanisme de ping.
Si tu fais une requête SQL précédées de
/* ping */
tels que:Ce sera effectivement provoquer le conducteur envoyer un ping vers le serveur et le retour d'un faux, la lumière-poids, jeu de résultats.
(Vous pouvez trouver cette enterré assez profondément dans le Connector/J de la documentation; la recherche pour "ping" sur cette page. Lire attentivement: ce mécanisme est très sensible à la syntaxe utilisée. Contrairement à la plupart des SQL, les "analyse" de "ping" marqueur qui se passe dans le côté client JDBC pilote lui-même.).
SELECT 1
. Je ne pouvais pas trouver quoi que ce soit sur cette page que les documents de façon beaucoup plus "léger" que le ping estJe ne sais pas comment faire cela dans JDBC, vous pouvez utiliser le Regroupement de Connexion pour valider votre connexion comme si (Ce qui est le
context.xml
pour Tomcat (qui se trouve dans leMETA-INF
répertoire de votre application)):La
validationQuery
valide si la connexion est réussie ou non.Je ne pense pas qu'il y est quoi que ce soit dans l'APi JDBC pour cela.
Mais vous pouvez tout simplement utiliser InetAddress et la isReachable() méthode pour vérifier si le serveur est là (ce qui est, essentiellement, une table de ping est en train de faire).
http://download.oracle.com/javase/6/docs/api/java/net/InetAddress.html#isReachable%28int%29
Modifier:
Si vous voulez vérifier si MySQL est en cours d'exécution plutôt que d'envoyer une requête ping au serveur que vous pourriez essayer d'ouvrir un socket vers le serveur sur le port par défaut de MySQL.
Quelque chose comme ceci:
Si connect() ne permet pas de lever une exception, quelque chose est en cours d'exécution sur le port 3306.
Si vous voulez vous assurer que c'est un serveur MySQL sur le port, le seul moyen est d'établir une connexion JDBC (mais vous avez besoin d'un nom d'utilisateur valide/mot de passe) et exécutez une instruction par exemple, la table de PING déclaration mentionnée par Brian.