का उपयोग कर ऑनलाइन MySQL डेटाबेस से कनेक्ट करने में समस्या। मैं अपने जावा ऐप में अपने ऑनलाइन डेटाबेस तक पहुंचने के लिए जेडीबीसी के साथ एक कनेक्शन स्थापित करने की कोशिश कर रहा हूं ताकि मैं टेबल को सम्मिलित और क्वेरी कर सकूं। (वास्तविक IP/उपयोगकर्ता/संपादित पास है, लेकिन वे सही हो के बाद से मैं एक PHP स्क्रिप्ट से समान किया है)जावा - जेडीबीसी
String url = "jdbc:mysql://984.168.199.70/my_db_name";
String user = "my_username";
String pass = "my_password";
Class.forName ("com.mysql.jdbc.Driver").newInstance();
Connection conn = (Connection) DriverManager.getConnection(url, user, pass);
stmt = (Statement) conn.createStatement();
लेकिन यह काम नहीं करता, मैं: यहाँ मैं वर्तमान में क्या कोशिश कर रहा हूँ है त्रुटि:
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
और त्रुटि लॉग उसके बाद काफी लंबा है।
तो बस यह इंगित करने के लिए: मैंने PHP स्क्रिप्ट का उपयोग करने से पहले इस सर्वर से कनेक्ट किया है, और मैंने अपने स्थानीयहोस्ट MySQL डेटाबेस से कनेक्ट करने और उससे संपर्क करने के लिए जेडीबीसी का उपयोग किया है।
किसी भी मदद के लिए धन्यवाद।
MySQL के लिए खोला गया कोई विशेष पोर्ट, या यह डिफ़ॉल्ट है? – sgibly
इसके अलावा, http://stackoverflow.com/questions/2102912/cant-make-jdbc-connection-to-mysql-using-java-intellij-and-linux – sgibly
कंक्रीट समस्या के रूप में देखें, http: // stackoverflow.com/questions/2983248/jdbc-with-mysql/2985169#2985169 आपके द्वारा पोस्ट किए गए कोड के अनुसार, उन अनावश्यक जानवरों ने मुझे लगता है कि आपने वास्तव में 'कनेक्शन' और 'स्टेटमेंट' के लिए MySQL के ठोस क्रियान्वयन वर्ग आयात किए हैं। जबकि आपकी समस्या का जरूरी नहीं है, यह एक * बुरा अभ्यास * है। हमेशा 'java.sql। *' इंटरफेस के खिलाफ घोषित करें! यदि आपने कभी ड्राइवर को अपग्रेड किया है या डीबी स्विच किया है, तो आपका जेडीबीसी कोड अन्यथा टूट जाएगा और एक पूर्ण पुनर्लेख/पुनर्निर्माण की आवश्यकता होगी। – BalusC