драйвер базы данных h2 выдает сообщение driver not found

#java #eclipse #jdbc #h2

#java #eclipse #jdbc #h2

Вопрос:

Я изучал подключение к JDBC в течение нескольких дней и недавно попробовал этот код, используя реляционную базу данных h2. Я получаю сообщение о том, что драйвер недоступен, я проверил, и драйвер находится там, где он должен быть, в папке lib пакета eclipse. Что мне, вероятно, делать?

 package jdbcwork;

//importing java commands
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Manager1 
{
//main method with exception throw
public static void main(String[] args) throws ClassNotFoundException    
    {
    //try block
    try
        {

    //calling the h2 database driver org.h2.Driver
    Class.forName("org.h2.Driver");

    //declaring host ,username and password 
    String host="jdbc:h2:tcp://localhost/~/test/INFORMATION_SCHEMA.COLLATIONS";
    String uName="sa";
    String uPass="sa";

    //giving a connection to the h2 database driver driver 
    Connection conn = DriverManager.getConnection("h2","sa","sa");

        }
    //catch block
    catch(SQLException err)
        {
        //printing an error message
        System.out.println(err.getMessage());       
        }

    }
}
  

Комментарии:

1. Добавили ли вы jar-файл драйвера H2 в путь к классу вашего приложения? Также, пожалуйста, опубликуйте точную трассировку стека исключений, а не просто неточно описывайте сообщение об ошибке.

Ответ №1:

 //declaring host ,username and password 
    String host="jdbc:h2:tcp://localhost/~/test/INFORMATION_SCHEMA.COLLATIONS";
    String uName="sa";
    String uPass="sa";

    //giving a connection to the h2 database driver driver 
    Connection conn = DriverManager.getConnection("h2","sa","sa");
  

Измените, как:

 //declaring host ,username and password 
    String host="jdbc:h2:tcp://localhost/~/test/INFORMATION_SCHEMA.COLLATIONS";
    String uName="sa";
    String uPass="sa";

    //giving a connection to the h2 database driver driver 
    Connection conn = DriverManager.getConnection(host,uName,uPass);
  

и убедитесь h2.jar , что он должен быть в вашем пути к классу

если хотите не загружать, проверьте это :

http://www.java2s.com/Code/Jar/h/Downloadh2jar.htm

Ответ №2:

Используйте этот код

Используйте имя вашей базы данных и все

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

    public class OracleJDBC {

        public static void main(String[] argv) {

            System.out.println("-------- Oracle JDBC Connection Testing ------");

            try {

                Class.forName("oracle.jdbc.driver.OracleDriver");

            } catch (ClassNotFoundException e) {

                System.out.println("Where is your Oracle JDBC Driver?");
                e.printStackTrace();
                return;

            }

            System.out.println("Oracle JDBC Driver Registered!");

            Connection connection = null;

            try {

                connection = DriverManager.getConnection(
                        "jdbc:oracle:thin:@localhost:1521:xe","system","murali123");

            } catch (SQLException e) {

                System.out.println("Connection Failed! Check output console");
                e.printStackTrace();
                return;

            }

            if (connection != null) {
                System.out.println("You made it, take control your database now!");
            } else {
                System.out.println("Failed to make connection!");
            }
        }

    }
  

Здесь вы узнаете, в чем проблема.Попробуйте это, сообщите мне результат, который вы получаете.

Комментарии:

1. op просто нужно добавить jar драйвера h2 в classpath. ваш ответ подключение к oracle db не имеет смысла. @Jay ответ правильный, просто проверьте его.

2. @KetanG нахожусь в Ченнаи!!

3. просто для замечания, имя пользователя базы данных может быть также username="sa" и password="" (пустая строка)