Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Транзакции в Access   Найти похожие ветки 

 
zsv ©   (2010-06-11 17:44) [0]

День добрый помогите с проблемкой.
использую базу данных Access2000, подкл через ADO
одной програмкой пишу в базу
frmMain.con1.BeginTrans;
q.SQL.Text:="insert into MyTable (IdUser,NameUser) values(1,"Вася");
q.ExecSQL;
frmMain.con1.CommitTrans;

второй програмкой тут же пытаюсь считать эту строку, но запрос пустой.
погонял считывание в цикле. показало что данные видны второй программкой спустя 2 сек примерно.
А вот если не использовать явные транзакции - то видны мгновенно. В чем тут дело?
frmMain.con1.IsolationLevel:=ilCursorStability в обоих программках.
ЗЫ. транзакции использовать обязательно ,тк необходимо делать несколько вставок в разные табл
Спасибо


 
sniknik ©   (2010-06-12 10:37) [1]

> показало что данные видны второй программкой спустя 2 сек примерно.
в чем транзакции скорее всего не виноваты, поведение похоже на то когда не используют общий ADOConnection а прописывают строки соединений в компонентах, что приводит к созданию нескольких com объектов, и таймаутам на синхронизацию данных между ними.

> frmMain.con1.BeginTrans;
> использовать явные транзакции
это не явные, это клиентские... во что их транслирует, и как, используемый провайдер только ему одному известно (авторы уже давно это по-забывали), делай их запросами, тогда не будет зависеть от непонятных интерпретаций (и сразу будет видно если сервер не поддерживает, то и команд не будет, и не будешь думать на всякие эмуляции, что это полноценная транзакция. да, это не про аксесс это "вообще").

> q.ExecSQL;
ну и ... - ADOCommand, ADODataset .


 
Виталий Панасенко(дом)   (2010-06-12 17:05) [2]


> sniknik ©   (12.06.10 10:37) [1]

а как же

> zsv ©   (11.06.10 17:44)  


> второй програмкой тут же пытаюсь считать эту строку, но
> запрос пустой.


?


 
Виталий Панасенко(дом)   (2010-06-12 17:07) [3]

это я о
> не используют общий ADOConnection

...
общего коннекшина и не м.б. в принципе


 
sniknik ©   (2010-06-12 18:00) [4]

> общего коннекшина и не м.б. в принципе
в одной программе. т.е. frmMain.con1 здесь один, q другой.


 
zsv ©   (2010-06-14 18:06) [5]

>sniknik ©

q:=TADOQuery.Create(nil);
q.Connection:=frmMain.con1;

>ADOCommand, ADODataset .
не помогают - все также не видит записи...

причем более долгие наблюдения показали, что 2с - это не факт, может быть и 4 сек а может и менее одной секунды...непредсказуемо.
я в ступоре...


 
sniknik ©   (2010-06-14 19:17) [6]

> не помогают - все также не видит записи...
это не для помощи в твоих проблемах, это правильные компоненты для использования.
помощь была в первом-втором абзаце первого поста.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.062 c
15-1342612759
Кто б сомневался
2012-07-18 15:59
2013.03.22
Дженерики - примеры где с ними было бы лучше


15-1341211017
KilkennyCat
2012-07-02 10:36
2013.03.22
Понедельничная задачка :)


1-1301494021
Циркуль
2011-03-30 18:07
2013.03.22
Модальное окно прячется под немодальным


3-1285656778
ABolnykh
2010-09-28 10:52
2013.03.22
Как предотвратить появление окна запроса пароля PasswordDialog?


15-1352493094
Дмитрий С
2012-11-10 00:31
2013.03.22
Вопрос по схемотехнике.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский