2012-09-27 17 views
8

Necesito obtener la ruta de instalación de MySQL para realizar la exportación e importar la base de datos a través de código Java. Actualmente estoy trabajando con eclipse. Necesito obtener la ruta de instalación en una variable String "mySqlPath".Obtener la ruta de instalación de MySQL

File fMysqlPath = new File("C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\"); 
String executeCmd = "mysqldump -u " + Constants.DB_USER + " -p" + 
        Constants.DB_PASSWORD + " " + Constants.DB_NAME + " -r " + 
        FilePath + "\\" + FileName; 
Process runtimeProcess = Runtime.getRuntime().exec(executeCmd, null, fMysqlPath); 

Esto es lo que he hecho. Esto tiene un problema de dependencia.

¿Cómo puedo solucionar esto?

+0

¿Qué problema exactamente estás enfrentando? – gprathour

+0

@GPS cuando ejecuto el programa en otro sistema, la ruta mysql obtiene un error. – Gapchoos

Respuesta

10

Has probado esto:

import java.sql.*; 
import javax.sql.*; 

public class MysqlPathFinderDemo{ 

public static void main(String args[]){ 
String dbtime; 
String dbUrl = "jdbc:mysql://your.database.domain/yourDBname"; 
String dbClass = "com.mysql.jdbc.Driver"; 
String query = "Select * FROM users"; 

try { 

     Class.forName("com.mysql.jdbc.Driver"); 
     Connection con = DriverManager.getConnection (dbUrl); 
     Statement stmt = con.createStatement(); 
     res = Myconnection.st.executeQuery("select @@datadir"); 
     String Mysqlpath = ""; 

     while(res.next()){ 
      Mysqlpath=res.getString(1) ; 
     } 

     Mysqlpath = Mysqlpath.replace("Data", "bin"); 
     System.err.println("Mysql path is :"+a); 
    } catch(Exception ee) { 
    } 
} 
} 
+1

+1, este es un buen truco;) – Sujay

+2

¿puedo usar @@ basedir en su lugar? – Gapchoos

+0

@Franklin Esto crea una excepción. en este caso, mi ruta MySQL es C: \ Documents and Settings \ All Users \ Application Data \ MySQL \ MySQL Server 5.5 \ bin; La instrucción replace reemplaza los datos de la aplicación como contenedor de aplicaciones. – Gapchoos

3

Puede consultar directamente MySQL y preguntarse para darle la ruta:

SHOW VARIABLES LIKE 'basedir'; 

o más fácil,

SELECT @@basedir; 

debe dar usted la ruta de instalación Ambos deben desembocar en algo como:

C: \ Archivos de programa \ MySQL \ MySQL Server 5.1 \

datadir es el equivalente a obtener la ruta del directorio de datos (en la que los datos se encuentran).

Cuestiones relacionadas