Muchas veces uno ocupa saber adonde está instalado la aplicación MySQL Server para poder ejecutar distintas opciones (un ejemplo es una archivo script). Sin embargo, la ruta donde está instalado puede variar de una máquina a otra o incluso de versión.
Un ejemplo de esto es el siguiente:
- Mi ruta del MySQL es C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe
- Pero en otra computadora es C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe.
Entonces se pregunta, como hago para poder saber esto sin que el usuario tenga que escribirlo?
El truco es el siguiente: Cuando uno instala MySQL, este automáticamente instala y pone a ejecutar un servicio. Este servicio contiene valiosa información sobre la versión de MySQL que tenemos, entre esa, la ruta. El siguiente código se vale de esto para obtener la ruta de mysql:
public static string GetMySQLPath()
{
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_Service WHERE DisplayName = 'MySQL'");
foreach (ManagementObject queryObj in searcher.Get())
{
string servicePath = (string)queryObj["PathName"];
string executablePath;
if (servicePath.StartsWith("\""))
{
executablePath = servicePath.Substring(1, servicePath.IndexOf('"', 1) - 1);
}
else
{
executablePath = servicePath.Substring(0, servicePath.IndexOf(' '));
}
FileInfo executableFile = new FileInfo(executablePath);
return executableFile.DirectoryName;
}
}
catch (Exception)
{
//No action in particular
}
return null;
}
Con este código, podemos obtener la ruta de MySQL sin tener que buscarla en un explorador ni tener que escribirla.
Saludos
y como seria esto pero en php, quisiera hacer lo mismo buscar el path de mysql de forma dinamica te lo agradecere amigo =)
ResponderEliminar