#oracle
#Oracle
Вопрос:
Когда я запускаю эту программу ниже, она выводит OK на консоль, но таблица scott.emp не изменилась, я чего-то не хватает?
Я протестировал sql в sqlplus и его правильный
package com.sp;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class TransationTest {
public static void main(String[] args) {
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "system", "system");
conn.setAutoCommit(false);
Statement sm = conn.createStatement();
sm.executeUpdate("update scott.emp set sal=sal-100 where ename='SCOTT'");//I have tested this sql in sqlplus and its correct.
sm.executeUpdate("update scott.emp set sal=sal 100 where ename='SMITH'");//I have tested this sql in sqlplus and its correct.
conn.commit();
System.out.println("OK");
sm.close();
conn.close();
} catch (Exception e) {
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}
}
}
таблица scott.emp без изменений:
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- ---------- --------- ---------- -------------- ---------- ----------
8002 JIMMY 7800
7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
7900 JAMES CLERK 7698 03-12月-81 950 30
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
Комментарии:
1. Вы уверены, что подключаетесь к той же базе данных? (Не имеет значения, но подключение от имени system, вероятно, не очень хорошая идея; почему бы не подключиться от имени scott?)
2. @Alex Poole да, я подключал другую базу данных, спасибо за ваш совет