Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Выполнение транзакций через JDBC / 3 сообщений из 3, страница 1 из 1
20.08.2004, 09:47
    #32658135
akula84
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение транзакций через JDBC
Вопрос такой, возможно ли через JDBC драйвер запуск сразу всей транзакции, состоящей из несколько строк.

Хватит ли просто addBatch()
...
Рейтинг: 0 / 0
20.08.2004, 11:05
    #32658377
akula84
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение транзакций через JDBC
Это похоже на правду ;)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
try {   
connection.setAutocommit(false);   
...   /* твои SQL запросы/апдейты */    
connection.commit();
}
 catch() {   connection.rollback();}   
connection.close();
...
Рейтинг: 0 / 0
20.08.2004, 11:41
    #32658508
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение транзакций через JDBC
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 - там не надо экономить транзакции(см. Том Кайт)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Выполнение транзакций через JDBC / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]