Ограничения на BeginTrans

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Ограничения на BeginTrans

Сообщение VVitafresh » 09.09.2006 (Сб) 22:05

Есть ли какие-то ограничения на количество операций между BeginTrans/CommitTrans при работе с mdb через JET (удаление, модифицикация, вставка записей)?

Я вот чего спрашиваю. Столкнулся с тем, что следующий код (ранее работавший без нареканий):
Код: Выделить всё
Cn.BeginTrans   

SQL = "DELETE n.* from prices as n INNER JOIN items_upd as u ON (n.code=u.code) and (n.cat=u.cat)"
Cn.Execute SQL
   
SQL = "INSERT INTO prices SELECT * from items_upd"
Cn.Execute SQL
   
Cn.CommitTrans
зависает на операции INSERT. Не выдается никакого сообщения об ошибке, просто комп немного шерстит винчестером и замолкает, и ничего больше не происходит...

Так вот, если закомментировать Cn.BeginTrans/Cn.CommitTrans -- оба запроса отрабатывают :roll:

:?: :?: :?:
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 10.09.2006 (Вс) 0:03

Да, забыл показать как я connection открываю:
Код: Выделить всё
Cn.CommandTimeout = 300
Cn.ConnectionTimeout = 300
Cn.CursorLocation = adUseServer
Cn.Provider = "Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=" & sPwd
Cn.Open "Data Source=" & sPth
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 11.09.2006 (Пн) 9:49

Все молчат...

А вообще кто-то использовал транзакции при работе с mdb?
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.09.2006 (Пн) 10:07

Использовал, и часто.
Все работало замечательно, даже с относительно большими объемами.
И по идее, ограничений быть не должно, ни по глубине, ни по объему, если ресурсов машины хватает.
Возможно, что в Access имеются какие ограничения сверху.
Lasciate ogni speranza, voi ch'entrate.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 11.09.2006 (Пн) 10:18

alibek писал(а):Использовал, и часто.
Все работало замечательно, даже с относительно большими объемами.
И по идее, ограничений быть не должно, ни по глубине, ни по объему, если ресурсов машины хватает.

У меня в таблице КУДА копируется ~500000 записей, ОТКУДА ~40000 записей.
Возможно, что в Access имеются какие ограничения сверху.
А как понять "сверху"?
И еще: нужны ли какие-то дополнительные настройки (например connection'a или реестра) при работе с относительно большими объемами данных?
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.09.2006 (Пн) 10:31

Да, что-то там есть, количество блокировок по строкам... в реестре максимум проставляется.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.09.2006 (Пн) 10:54

VVitafresh писал(а):А как понять "сверху"?

В смысле, ограничения провайдера Jet.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 3

    TopList  
cron