установлено соединение jdbc, но результат не был напечатан в консоли eclipse

#java #sql #eclipse #oracle

#java #sql #eclipse #Oracle

Вопрос:

Я новичок в этом форуме….

Я пытаюсь подключить java-проект, созданный в eclipse, к oracle database xe,

Я выполнил процедуры, описанные в следующей ссылке https://www.youtube.com/watch?v=fMp63HsIRbc

но он не напечатал результат в консоли eclipse, но также не выдал исключение

в чем должна быть причина

это мой код

 package dbmsoracle;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Jdb {

public static void main(String[] args) {
    System.out.println("jen");
    try
    {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection con =        DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","murali123");
        Statement st = con.createStatement();
        String sql="select * from muhil";
        ResultSet rs =st.executeQuery(sql);
        while (rs.next())
        {
            System.out.println("executing ...");
            System.out.println(rs.getInt(1) " " rs.getInt(2));
            System.out.println("executed");
            con.close();

        }
    }
    catch (Exception e)
    {
        System.out.println("connection failed");
    System.out.println(e);  
    }

    }
  

я загрузил свой драйвер jdbc

Oracle Database 11g Release 2 (11.2.0.4) Драйверы JDBC ojdbc6.jar Сертифицирован по стандартам JDK 8, JDK 7 и JDK 6: ……

и я использую jdk 8

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

1. Выводит ли он «выполнение …»?

2. нет, он просто печатает «jen», и консоль завершается

3. Это означает, что ваш rs равен нулю (возможно, потому, что соединение не установлено или сама таблица пуста)

4. Запустите запрос в редакторе базы данных Oracle, чтобы увидеть, выполняется ли запрос правильно или нет

5. да, он запущен

Ответ №1:

Сначала проверьте, установлено ли ваше соединение с базой данных oracle или нет. Вот код подключения, попробуйте это

 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. это мой вывод: ——- Тестирование подключения Oracle JDBC —— Драйвер Oracle JDBC зарегистрирован! Вы сделали это, теперь управляйте своей базой данных!

2. затем соединение установлено успешно, напишите свой код запроса и запустите его

3. вот в чем мой вопрос… если я запускаю код, который я опубликовал ранее, он ничего не печатал в консоли, но не выдавал никаких исключений. выполнение …. само по себе не печатает

4. вот моя проблема (rs.next())… этот код не выполняется .. что мне делать

5. попробуйте этот результирующий набор rs=stmt.ExecuteQuery(«выбрать * из muhil»);

Ответ №2:

У меня такая же проблема. Проблема в том, что ваш код не улавливается (SQLException e). Потому что просто catch(исключение e) не приведет к исключению sql, отображаемого в консоли. После этого вы, вероятно, обнаружите, что исключение «Не найден подходящий драйвер для jdbc».

Затем вы можете либо загрузить mysql-connector-java и добавить его в свою библиотеку, либо, если ваш проект Maven, вы можете просто добавить зависимость в свой pom-файл.

Ответ №3:

После того, как вы использовали Sql для входа в базу данных, зафиксируйте таблицу. Введите ‘commit’ (без кавычек) на терминале или закройте свой Sql терминал. В вашем случае вы, должно быть, закрыли терминал после того, как изменили свой идентификатор с 24, 253 на 1, 2. Вот почему он работал правильно. Не имеет ничего общего с идентификатором, начинающимся с 1

Ответ №4:

прежде всего, проверьте, есть ли в вашей таблице какие-либо данные или нет. Кажется, вы только что создали эту таблицу «muhil» перед написанием приведенного выше кода. я уверен, что вы, должно быть, также ввели некоторые данные в свою новую таблицу. Просто убедитесь, что вы зафиксировали транзакцию в рабочей среде MYSQL. Просто зафиксируйте его и попробуйте снова запустить свой код в eclipse.