#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.