Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 Autostart transaction в связке UniDAC + Firebird  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13305
Использую компоненты UniDAC + Firebird 3.
Недавно узнал, что у библиотеки нет свойств и механизмов, связанных с автостартом транзакций и техподдержка это подтвердила.
Сам, ручками в коде, я транзакции тоже не запускаю.
Т.е. в коде нигде нету "xxxTransaction.StartTransaction".

Получается, что сервер сам, либо fbclient.dll стартует транзакции без моего ведома/участия?
10 июл 19, 16:11    [21924271]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30502

10.07.2019 16:11, X11 пишет:
> Недавно узнал, что у библиотеки нет свойств и механизмов, связанных с автостартом транзакций
> и техподдержка это подтвердила.

все пОциенты врут. (С)

Posted via ActualForum NNTP Server 1.5

10 июл 19, 17:33    [21924335]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Ivan_Pisarevsky
Member

Откуда: НН
Сообщений: 8373
И это пройдет. (С)
10 июл 19, 17:49    [21924348]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
akrush
Member

Откуда: Киев, Украина
Сообщений: 352
Мимопроходящий
10.07.2019 16:11, X11 пишет:
> Недавно узнал, что у библиотеки нет свойств и механизмов, связанных с автостартом транзакций
> и техподдержка это подтвердила.

все пОциенты врут. (С)

100 процентов.
Сам пробовал работать с этим "чудом". Если не стартовать и не комитить транзакции - данные не сохранятся.
Если у вас данные сохраняются - значит .......
11 июл 19, 12:37    [21924792]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
rdb_dev
Member

Откуда: с болот
Сообщений: 3059
Мимопроходящий
все пОциенты врут. (С)
От слова "пОц"? :)
11 июл 19, 12:59    [21924818]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60248
akrush> Если не стартовать и не комитить транзакции - данные не сохранятся.

Там по дефолту Rollback стоит что ли?

Posted via ActualForum NNTP Server 1.5

11 июл 19, 13:03    [21924824]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30502

11.07.2019 13:03, Гаджимурадов Рустам пишет:
> Там по дефолту Rollback стоит что ли?

какой такой дефолт?
сервер такового не знает.

Posted via ActualForum NNTP Server 1.5

11 июл 19, 13:09    [21924833]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13305
akrush
Сам пробовал работать с этим "чудом". Если не стартовать и не комитить транзакции - данные не сохранятся.


я не про автокоммит, а про автостарт
никаких свойств, связанных с автостартом, нет ни у единой компоненты
11 июл 19, 13:12    [21924835]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10024
X11,

1. там есть свойство AutoCommit у TUniConnection, TUniQuery, TUniTable, TUniStoredProc, TUniLoader
2. у UniConnection, TUniQuery, TUniTable, TUniStoredProc, TUniLoader есть свойство Transaction, если оно не прописано, то используется Transaction из TUniConnection, которая скорее всего может стартовать автоматически, хотя бы для подготовки запросов и чтения метаданных.
3. у TUniQuery, TUniTable есть свойство UpdateTransaction, если оно не прописано используется свойство Transaction

Ищи исходя из этих 3 пунктов
11 июл 19, 13:15    [21924839]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30502

11.07.2019 13:12, X11 пишет:
> никаких свойств, связанных с автостартом, нет ни у единой компоненты

ты можешь просто сделать кверю активной?
(не стартуя транзакций явно)

Posted via ActualForum NNTP Server 1.5

11 июл 19, 13:16    [21924841]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13305
Симонов Денис,

Вы что, не понимаете, чем отличается Auticommit и AutoStart?
11 июл 19, 13:16    [21924842]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10024
X11,

понимаю, но я практически уверен, что транзакция по умолчанию стартует автоматом (AutoCommit = True), в отличие от транзакций указанных для отдельных датасетов и запросов.
https://www.devart.com/unidac/docs/work_transaction.htm
After you have activated a transaction, all operations, including dataset opening, will be performed within the context of the current transaction until you commit or rollback it. If no transactions were started, changes performed by each operation are reflected in database right after the operation is completed (so-called AutoCommit mode). When using InterBase provider, please pay attention to the AutoCommit property. The AutoCommit property has the True value by default that leads to automatically execution of CommitRetaining or RollbackRetaining when there is any data modification. By setting the property to False, you will get rid of this behavior, however, you will have to manage the transactions by yourself. The TUniConnection.AutoCommit property has a higher priority than the specific option "AutoCommit" of datasets (TUniQuery, TUniTable). If the TUniConnection.AutoCommit property is set to False, all transactions can be committed only explicitly (despite of the specific option "AutoCommit" value of a dataset). If you want most datasets to automatically commit transactions, and for some of them to control transactions manually, you should set the TUniConnection.AutoCommit property to True, and only for datasets with manual transaction control, set the specific option "AutoCommit" value to False.
11 июл 19, 13:29    [21924860]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13305
Симонов Денис
транзакция по умолчанию стартует автоматом (AutoCommit = True)


У меня, как раз AutoCommit = False
11 июл 19, 13:32    [21924865]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30502

а исподники у этого "чуда" есть?

зы: чо тебя на экзотику потянуло?

Posted via ActualForum NNTP Server 1.5

11 июл 19, 13:36    [21924869]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13305
UniDAC весьма уважаемые и не экзотические компоненты.
Исходники есть, но просто лень изучать исходники на предмет автостарта транзакций без участия программиста.
11 июл 19, 13:37    [21924874]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30502

11.07.2019 13:37, X11 пишет:
> UniDAC весьма уважаемые и не экзотические компоненты.

у определённой категории мышетыкателей.

> Исходники есть, но просто лень изучать исходники на предмет автостарта транзакций без участия программиста.

тогда страдай молча.

зы: твои страдания никакого отношения к серверу не имеют.

Posted via ActualForum NNTP Server 1.5

11 июл 19, 13:43    [21924881]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13305
Мимопроходящий
у определённой категории мышетыкателей.


ааа, ясно, ты же у нас на ассемблере пишешь
11 июл 19, 13:48    [21924893]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
WildSery
Member

Откуда: да, оттуда.
Сообщений: 16648
X11
ааа, ясно, ты же у нас на ассемблере пишешь
Только перфокарты, только хардкор.
11 июл 19, 13:50    [21924898]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10024
Мимопроходящий,

ну не надо грязи, компания пишет довольно солидные компоненты. Тот же самый ODAC активно используется под Oracle. А вот насколько хорошо у них сделано под Firebird не знаю (там кстати есть отдельный IBDac). UniDac это попытка засунуть их отдельные компоненты для разных СУБД в одну библиотеку с обобщённым интерфейсом. Исходники к компонентам прилагаются.
11 июл 19, 14:06    [21924916]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13305
Для MySQL и SQLite не нужны никакие библиотеки доступа, у меня приложения тупо один экзешник.
Компоненты работают без проблем на FMX в Андроиде.
Т.е. одна и та же библиотека для андроида, винды, для 3ёх(в разных приложениях) разных СУБД.
11 июл 19, 14:20    [21924928]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13305
X11
Для MySQL и SQLite

Прямой доступ к 10 разным СУБД: https://www.devart.com/ru/dac.html
11 июл 19, 14:24    [21924933]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10024
X11,

ну для MySQL они реализовали сетевой протокол самостоятельно, он куда проще чем в Firebird. А для SQLLite там просто статически библиотека прилинкована.
11 июл 19, 14:33    [21924941]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30502

11.07.2019 14:06, Симонов Денис пишет:
> ну не надо грязи, компания пишет довольно солидные компоненты.

если солидность в бантиках и рюшечках, то возможно.
всё что делает DeviantArt, сделано через невероятно привлекательную (для кого-то) @опу.
/* никого из присутствующих не имею в виду */

Posted via ActualForum NNTP Server 1.5

11 июл 19, 14:56    [21924970]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10024
Мимопроходящий,

я не очень знаком с их продуктами, поэтому ничего утверждать не стану. Но вот в одном проекте который мне приходится поддерживать (передали готовое) для доступа к Oracle используется их ODAC. По сравнению с кривой архитектурой самого приложения, возможная кривость компонентов доступа меня мало беспокоит.
11 июл 19, 15:01    [21924978]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Ivan_Pisarevsky
Member

Откуда: НН
Сообщений: 8373
X11
лень изучать исходники на предмет автостарта транзакций
У сервера нет никаких автостартов и автокоммитов. Есть только автороллбэк, если клиент помер не сказав "последнего слова". Изучай исходники компонентов, дело тут не в сервере.

Модератор: Тема перенесена из форума "Firebird, InterBase".
11 июл 19, 15:19    [21924997]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
Дегтярев Евгений
Member

Откуда: Барнаул
Сообщений: 1690
X11
UniDAC весьма уважаемые и не экзотические компоненты.
Исходники есть, но просто лень изучать исходники на предмет автостарта транзакций без участия программиста.

мне кажется, суток более чем достаточно, чтобы выяснить такой момент в исходниках
11 июл 19, 17:52    [21925147]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
devart
Member

Откуда: www.devart.com
Сообщений: 1144
Данное поведение связано с особенностью работы Firebird: InterBase/Firebird требует активной транзакции для любой операцией с данными, даже для открытия датасета. Поэтому при вызове TUniQuery.Open проверяется запущена ли связанная с ним транзакция и, если это не так - она автоматически запускается. Мы ответили вам на нашем форуме: https://forums.devart.com/ru/viewtopic.php?f=26&t=26607
12 июл 19, 14:33    [21925753]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13305
X11
техподдержка это подтвердила.


В общем, я немного ошибся, есть автостарт, а вот свойств, отвечающих за автостарт - нету.
12 июл 19, 14:40    [21925763]     Ответить | Цитировать Сообщить модератору
 Re: Autostart transaction в связке UniDAC + Firebird  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13305
devart
и, если это не так - она автоматически запускается


ок, понял, спасибо
12 июл 19, 14:40    [21925764]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / Delphi Ответить