मैं एक्लिप्स, माईएसक्यूएल वर्कबेंच, और जेडीबीसी 8.0.11 का उपयोग कर डेटाबेस में टेक्स्ट फ़ाइल के डेटा को लाने के लिए कोड लिखने की कोशिश कर रहा हूं। यह मुझे ClassNotFoundException दे रहा है। मैंने कई अन्य प्रश्नों को देखा है, और उन सभी को DriverManager.getConnection पैरामीटर के अंदर java\com\mysql\jdbc\Driver.java डालकर ठीक कर दिया गया है। मैंने पहले ही ऐसा कर लिया है, और यह अभी भी मुझे एक त्रुटि दे रहा है। किसी के पास कोई विचार है कि मुझे अभी भी यह त्रुटि क्यों मिल रही है?
public static void main(String[] args) throws Exception{
Class.forName //Register JDBC Driver
("*mysql-connector-java-8.0.11.\\src\\legacy\\java\\com\\mysql\\jdbc\\Driver.java*")
.newInstance();
conn = DriverManager.getConnection (url, user, pass);
Statement stmt = conn.createStatement();
String mysql1 = "UPDATE Policy SET " + readAndArray //Changeable file path
("filepath");
}
नया संपादन
@zlakad की सलाह के बाद, यह पता चला है कि यदि आपके पास जावा 6 या उच्चतर है तो आपको Class.forName() का उपयोग करने की आवश्यकता नहीं है। हालांकि, अब मेरे पास एक नई त्रुटि है: SQLNonTransientConnectionException अंतर्निहित RongArgumentException के कारण। मैं हैरान हूं कि यह ऐसा क्यों करता है क्योंकि मैं DriverManager.getConnection के लिए गलत पैरामीटर का उपयोग नहीं कर रहा हूं। कोई सुझाव?
String url = "file path"; //Changeable for MySQL DB
String user = "root";
String pass = "password";
public static void getConnection() throws Exception {
Connection conn = DriverManager.getConnection(url, user, pass);
Statement stmt = conn.createStatement();
3 जवाब
ये कोशिश करें:
// None of this belongs in a main method.
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
// where are url, user, pass set? I don't see them.
Connection conn = DriverManager.getConnection(url, user, pass);
Statement stmt = conn.createStatement();
// this is simply wrong.
String mysql1 = "UPDATE Policy SET " + readAndArray("filepath");
}
आप Java और JDBC में नए हैं। ऐसा करने का यह एक अच्छा तरीका नहीं है। मैं अनुशंसा करता हूं कि आप इसे बेहतर तरीके से कैसे करें इसके कुछ उदाहरणों के लिए वेब और SO खोजें।
com.mysql.cj.jdbc.Driver
की आवश्यकता है। नहीं तो शिकायत करेंगे।
कनेक्शन के लिए आपको ड्राइवर वर्ग लोड करना होगा, उस वर्ग की जार फ़ाइल नहीं
आपको यह कोशिश करनी चाहिए:
Class.forName("com.mysql.jdbc.Driver");
com.mysql.cj.jdbc.Driver
की आवश्यकता है। नहीं तो शिकायत करेंगे।
मैं DriverManager.getConnection() में डेटाबेस यूआरएल के लिए गलत प्रारूप का उपयोग कर रहा था;
मैंने अपना यूआरएल एक jdbc:mysql://host:3306/ में बदल दिया और यह काम कर गया।
String url = "jdbc:mysql://*host*:3306/";
Connection conn = DriverManager.getConnection(url, user, pass);
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।