2012-09-27 13 views
8

प्राप्त करें मुझे जावा कोड के माध्यम से निर्यात करने और डेटाबेस आयात करने के लिए MySQL का इंस्टॉलेशन पथ प्राप्त करने की आवश्यकता है। वर्तमान में ग्रहण के साथ काम कर रहा हूँ। मुझे स्ट्रिंग वेरिएबल "mySqlPath" में संस्थापन पथ प्राप्त करने की आवश्यकता है।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); 

यह मैंने किया है। इसकी निर्भरता समस्या है।

मैं इसे कैसे हल कर सकता हूं?

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) { 
    } 
} 
} 
+0

आपको किस समस्या का सामना करना पड़ रहा है? – gprathour

+0

@GPS जब मैं किसी अन्य सिस्टम में प्रोग्राम चलाता हूं, तो MySQL पथ त्रुटि प्राप्त करता है। – Gapchoos

उत्तर

10

आप इस की कोशिश की है आप स्थापना पथ।

C: दोनों की तरह कुछ में परिणाम चाहिए \ Program Files \ MySQL \ MySQL सर्वर 5.1 \

datadir बराबर डेटा निर्देशिका (जहां डेटा निहित है) की राह पाने के लिए है।

+1

+1, यह एक अच्छा हैक है;) – Sujay

+2

क्या मैं इसके बजाय @@ आधारित का उपयोग कर सकता हूं? – Gapchoos

+0

@ फ्रैंकलिन यह एक अपवाद बनाता है। इस मामले में मेरा MySQL पथ सी: \ दस्तावेज़ और सेटिंग्स \ सभी उपयोगकर्ता \ अनुप्रयोग डेटा \ MySQL \ MySQL सर्वर 5.5 \ bin है; प्रतिस्थापन कथन अनुप्रयोग डेटा को एप्लिकेशन बिन के रूप में प्रतिस्थापित करता है। – Gapchoos

3

आप सीधे mysql क्वेरी और खुद से पूछते हैं आप पथ देने के लिए कर सकते हैं::

SHOW VARIABLES LIKE 'basedir'; 

या आसान,

SELECT @@basedir; 

देना चाहिए

संबंधित मुद्दे