9

Javaコードを介してデータベースのエクスポートとインポートを実行するには、MySQLのインストールパスを取得する必要があります。現在、Eclipseを使用しています。文字列変数「mySqlPath」でインストールパスを取得する必要があります。

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);

これは私がやったことです。これには依存関係の問題があります。

どうすればこれを解決できますか?

4

2 に答える 2

11

これを試しましたか:

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) {
   }
 }
}
于 2012-09-27T06:47:01.357 に答える
5

mysqlに直接クエリを実行し、パスを指定するように自分自身に要求できます。

SHOW VARIABLES LIKE 'basedir';

または簡単に、

SELECT @@basedir;

インストールパスを提供する必要があります。どちらも次のようになります。

C:\ Program Files \ MySQL \ MySQL Server 5.1 \

datadirデータディレクトリ(データが存在する場所)のパスを取得するのと同じです。

于 2013-07-18T09:38:44.157 に答える