|
Выполнение транзакций через JDBC
|
|||
---|---|---|---|
#18+
Вопрос такой, возможно ли через JDBC драйвер запуск сразу всей транзакции, состоящей из несколько строк. Хватит ли просто addBatch() ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2004, 09:47 |
|
Выполнение транзакций через JDBC
|
|||
---|---|---|---|
#18+
Это похоже на правду ;) Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2004, 11:05 |
|
Выполнение транзакций через JDBC
|
|||
---|---|---|---|
#18+
public class TestBatch { public static void main(String[] args) throws Exception { String url = "jdbc:oracle:thin:@localhost:1521:siddb"; String user = "user"; String psw = "password"; DriverManager.registerDriver (new OracleDriver()); Connection conn = DriverManager.getConnection(url,user,psw); boolean isAutoCommit = conn.getAutoCommit(); System.out.println("isAutoCommit =" + isAutoCommit); conn.setAutoCommit(false); Statement stat = conn.createStatement(); stat.addBatch("CREATE TABLE t(a int , b varchar2(30))"); stat.addBatch("INSERT INTO t VALUES (1,'aaaa')"); int[] counts = stat.executeBatch(); conn.commit(); conn.setAutoCommit(isAutoCommit); } } А вообще по уму в Oracle надо отключать всегда autocommit - там не надо экономить транзакции(см. Том Кайт) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2004, 11:41 |
|
|
start [/forum/topic.php?fid=59&tid=2153817]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
103ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 318ms |
total: | 512ms |
0 / 0 |