Я новичок в java / scala и пытаюсь выполнить некоторые запросы к базе данных Oracle. Мой SELECT работает отлично, но когда я пытаюсь выполнить простое удаление, ничего не происходит, и мне приходится прерывать выполнение в моем терминале intellij.
Вот мой код:
import java.sql.{Connection, DriverManager, PreparedStatement, ResultSet, SQLException, Statement}
object ScalaJdbcConnectSelect extends App {
// jdbc driver name and database URL
val JDBC_DRIVER = "oracle.jdbc.OracleDriver";
val DB_URL = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=XXX)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=XXX)(PORT=1521))(FAILOVER=on)(LOAD_BALANCE=on))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XXX)))";
// database credentials
val USER = "sys as sysdba";
val PASS = "XXX";
var conn: Connection = _;
var stmt: Statement = _;
def insertQuery(query : String): Unit = {
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL, USER, PASS);
stmt = conn.createStatement;
// create the statement, and run the select query
val statement = conn.createStatement();
statement.executeUpdate(query);
conn.commit();
// cleanup
stmt.close();
conn.close();
} catch {
case e: Throwable => e.printStackTrace;
} finally {
conn.close();
}
}
def executeQuery(query : String): Unit = {
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL, USER, PASS);
stmt = conn.createStatement;
val rs: ResultSet = stmt.executeQuery(query);
/*while (rs.next()) {
println(rs.getString(1));
}*/
// cleanup
stmt.close();
conn.close();
} catch {
case e: Throwable => e.printStackTrace;
} finally {
conn.close();
}
}
val sql = "DELETE FROM APPIVB.TDEMANDESOUSCRIPTION WHERE ID in ('4001111001')";
//val sql = "SELECT * FROM APPIVB.TDEMANDESOUSCRIPTION WHERE ID in ('4001111001')";
executeQuery(sql);
println("Record deleted successfully");
}
У вас есть идея о моей проблеме? Спасибо