-
День добрый помогите с проблемкой. использую базу данных 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 в обоих программках. ЗЫ. транзакции использовать обязательно ,тк необходимо делать несколько вставок в разные табл Спасибо
-
> показало что данные видны второй программкой спустя 2 сек примерно. в чем транзакции скорее всего не виноваты, поведение похоже на то когда не используют общий ADOConnection а прописывают строки соединений в компонентах, что приводит к созданию нескольких com объектов, и таймаутам на синхронизацию данных между ними.
> frmMain.con1.BeginTrans; > использовать явные транзакции это не явные, это клиентские... во что их транслирует, и как, используемый провайдер только ему одному известно (авторы уже давно это по-забывали), делай их запросами, тогда не будет зависеть от непонятных интерпретаций (и сразу будет видно если сервер не поддерживает, то и команд не будет, и не будешь думать на всякие эмуляции, что это полноценная транзакция. да, это не про аксесс это "вообще").
> q.ExecSQL; ну и ... - ADOCommand, ADODataset .
-
> sniknik © (12.06.10 10:37) [1]
а как же
> zsv © (11.06.10 17:44)
> второй програмкой тут же пытаюсь считать эту строку, но > запрос пустой.
?
-
это я о > не используют общий ADOConnection
... общего коннекшина и не м.б. в принципе
-
> общего коннекшина и не м.б. в принципе в одной программе. т.е. frmMain.con1 здесь один, q другой.
-
>sniknik ©
q:=TADOQuery.Create(nil); q.Connection:=frmMain.con1;
>ADOCommand, ADODataset . не помогают - все также не видит записи...
причем более долгие наблюдения показали, что 2с - это не факт, может быть и 4 сек а может и менее одной секунды...непредсказуемо. я в ступоре...
-
> не помогают - все также не видит записи... это не для помощи в твоих проблемах, это правильные компоненты для использования. помощь была в первом-втором абзаце первого поста.
|