Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

Java-JDBC में MySQL 'Unknown database' एरर कैसे ठीक करें?


कारण और समाधान

JDBC में Unknown database एरर तब होता है जब कनेक्शन URL में ऐसा डेटाबेस नाम दिया गया हो जो MySQL सर्वर में मौजूद नहीं है।

एरर पैदा करने वाला कोड

String JdbcURL = "jdbc:mysql://localhost:3306/onlinebookstore?useSSL=false";
// 'onlinebookstore' डेटाबेस मौजूद नहीं है

एरर स्टैक ट्रेस:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'onlinebookstore'
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978)
    ...

समाधान: मौजूदा डेटाबेस उपयोग करें

  1. MySQL कमांड लाइन में मौजूदा डेटाबेस देखें:
mysql> SHOW DATABASES;

आउटपुट में से एक चुनें (उदाहरण: hb_student_tracker)

  1. JDBC URL में सही डेटाबेस नाम डालें:
String JdbcURL = "jdbc:mysql://localhost:3306/hb_student_tracker?useSSL=false";

सही कनेक्शन कोड

import java.sql.Connection;
import java.sql.DriverManager;

public class DatabaseConnectionDemo {
    public static void main(String[] args) {
        String JdbcURL = "jdbc:mysql://localhost:3306/hb_student_tracker?useSSL=false";
        String Username = "root";
        String password = "123456";
        Connection con = null;
        try {
            con = DriverManager.getConnection(JdbcURL, Username, password);
            System.out.println("Connected to MySQL database successfully!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

सफल आउटपुट:

Connected to MySQL database successfully!

सामान्य कारण और समाधान

कारणसमाधान
गलत डेटाबेस नाम (टाइपो)SHOW DATABASES से सही नाम कॉपी करें
डेटाबेस बनाया नहीं गयाCREATE DATABASE dbname; चलाएं
केस सेंसिटिविटी (Linux पर)सटीक केस उपयोग करें
गलत पोर्ट/होस्ट3306 डिफ़ॉल्ट पोर्ट जांचें
यूजर के पास डेटाबेस पर अधिकार नहींGRANT ALL ON dbname.* TO user@host;

बेस्ट प्रैक्टिस: डेटाबेस नाम को कॉन्फिग फाइल या एनवायरनमेंट वेरिएबल से पढ़ें, हार्डकोड न करें।

  1. Java के साथ MySQL डेटाबेस से कनेक्ट करना Java के साथ MySQL डेटाबेस से कनेक्ट करना

    परिचय Java में JDBC (Java Database Connectivity) API का उपयोग करके MySQL डेटाबेस से कनेक्ट किया जाता है। इसके लिए MySQL JDBC ड्राइवर (Connector/J) की आवश्यकता होती है। कनेक्शन URL और पैरामीटर्स String MySQLURL = jdbc:mysql://localhost:3306/yourDatabaseName?useSSL=false; String databaseUserName = yo

  1. Java में IP पते का उपयोग करके MySQL से कनेक्ट कैसे करें? Java में IP पते का उपयोग करके MySQL से कनेक्ट कैसे करें?

    Java में JDBC का उपयोग करके IP पते के माध्यम से MySQL डेटाबेस से कनेक्ट करने के लिए JDBC URL में होस्टनाम के स्थान पर IP पता निर्दिष्ट करें। JDBC URL फॉर्मेट jdbc:mysql://IP_ADDRESS:PORT/DATABASE?useSSL=false पूर्ण Java कोड import java.sql.Connection; import java.sql.DriverManager; public class J

  1. JDBC के साथ MySQL में बैकस्लैश को कैसे एस्केप करें? JDBC के साथ MySQL में बैकस्लैश को कैसे एस्केप करें?

    MySQL में JDBC का उपयोग करते समय बैकस्लैश (`\`) जैसे विशेष वर्णों को संभालने का सबसे सुरक्षित और अनुशंसित तरीका **PreparedStatement** का उपयोग करना है। यह SQL इंजेक्शन को रोकता है और स्वचालित रूप से एस्केप सीक्वेंस को सही ढंग से संभालता है। उदाहरण: PreparedStatement के साथ बैकस्लैश हैंडलिंग सबसे प