TrEdit, nowait, Design
TrEdit, nowait, Design
как правильно в режиме дизайнера прописать параметры транзакции?
DefaultTransaction.SpecificOptions.Values['Params'] := 'wait'
DefaultTransaction.SpecificOptions.Values['Params'] := 'autocommit'
DefaultTransaction.SpecificOptions.Values['Params'] := 'read_committed'
http://forums.devart.com/viewtopic.php?f=28&t=25656
и какие рекомендуемые параметры для транзакции чтения/записи для firebird при использовании UniDac?
В Fib была такая рекомендация
http://www.devrace.com/en/fibplus/articles/479.php
И такое решение
object Tr: TpFIBTransaction
TRParams.Strings = (
'isc_tpb_read'
'isc_tpb_nowait'
'isc_tpb_read_committed'
'isc_tpb_rec_version')
end
object TrEdit: TpFIBTransaction
TRParams.Strings = (
'isc_tpb_write'
'isc_tpb_read_committed'
'isc_tpb_wait'
'isc_tpb_no_rec_version')
end
DefaultTransaction.SpecificOptions.Values['Params'] := 'wait'
DefaultTransaction.SpecificOptions.Values['Params'] := 'autocommit'
DefaultTransaction.SpecificOptions.Values['Params'] := 'read_committed'
http://forums.devart.com/viewtopic.php?f=28&t=25656
и какие рекомендуемые параметры для транзакции чтения/записи для firebird при использовании UniDac?
В Fib была такая рекомендация
http://www.devrace.com/en/fibplus/articles/479.php
И такое решение
object Tr: TpFIBTransaction
TRParams.Strings = (
'isc_tpb_read'
'isc_tpb_nowait'
'isc_tpb_read_committed'
'isc_tpb_rec_version')
end
object TrEdit: TpFIBTransaction
TRParams.Strings = (
'isc_tpb_write'
'isc_tpb_read_committed'
'isc_tpb_wait'
'isc_tpb_no_rec_version')
end
Re: TrEdit, nowait, Design
Вы можете разделить параметры транзакции с помощью символов #13#10, либо с помощью точки с запятой:
или
Обратите внимание, что для установки произвольных параметров транзакции, Вам необходимо установить свойство DefaultTransaction.IsolationLevel в ilCustom.
Также, с помощью свойства DefaultTransaction.IsolationLevel Вы можете установить один из стандартных уровней изоляции транзакции. Детальную информацию об уровнях изоляции транзакций в Firebird вы можете получить в официальной документации: http://www.firebirdsql.org/manual/isql- ... tions.html.
Код: Выделить всё
DefaultTransaction.SpecificOptions.Values['Params'] := 'wait' + #13#10 + 'read_committed' + #13#10 + 'rec_version';
Код: Выделить всё
DefaultTransaction.SpecificOptions.Values['Params'] := 'wait;read_committed;rec_version';
Также, с помощью свойства DefaultTransaction.IsolationLevel Вы можете установить один из стандартных уровней изоляции транзакции. Детальную информацию об уровнях изоляции транзакций в Firebird вы можете получить в официальной документации: http://www.firebirdsql.org/manual/isql- ... tions.html.
Re: TrEdit, nowait, Design
где я могу прочитать как бъётся в параметры Firebird значение IsolationLevel и другие параметры транзакции (ReadOnly например)?
Re: TrEdit, nowait, Design
Информацию о параметрах транзакции Вы можете получить в документации InterBase 6.0 API Guide( http://www.firebirdsql.org/en/reference-manuals , раздел InterBase 6.0 Manuals)
Re: TrEdit, nowait, Design
Виктор, добрый день.
Переформулирую вопрос:
Я бы хотел понять, что именно отправляется UDIDAC когда DefaultTransaction.IsolationLevel <> ilCustom.
При этом это сделать из документации, а не кода/теста. Это возможно?
Переформулирую вопрос:
Я бы хотел понять, что именно отправляется UDIDAC когда DefaultTransaction.IsolationLevel <> ilCustom.
При этом это сделать из документации, а не кода/теста. Это возможно?
Re: TrEdit, nowait, Design
В зависимости от значения DefaultTransaction.IsolationLevel устанавливаются следующие комбинации параметров транзакции:
Код: Выделить всё
DefaultTransaction.IsolationLevel = ilSnapshot:
isc_tpb_concurrency
isc_tpb_nowait
isc_tpb_write
DefaultTransaction.IsolationLevel = ilReadCommitted:
isc_tpb_read_committed
isc_tpb_rec_version
isc_tpb_nowait
isc_tpb_write
DefaultTransaction.IsolationLevel = ilIsolated:
isc_tpb_consistency;
isc_tpb_write
Re: TrEdit, nowait, Design
т.е. параметр ReadOnly транзакции не учитывается?
Re: TrEdit, nowait, Design
Как итог (вдруг кому пригодится):
Собственно нашёл 2 документа по которым проставлял параметры транзакций когда начинал писать на fibplus
http://www.ibase.ru/devinfo/ibtrans.htm
http://www.devrace.com/ru/fibplus/articles/2167.php
В конвертированном приложении на UniDAC прописал
nowait;read_committed;rec_version;read - для читающей трензакции
wait;read_committed;rec_version;write - для пишущей или делающей то и другое.
Впереди - заставить это же приложение работать с Oracle и PostgreSQL
Собственно нашёл 2 документа по которым проставлял параметры транзакций когда начинал писать на fibplus
http://www.ibase.ru/devinfo/ibtrans.htm
http://www.devrace.com/ru/fibplus/articles/2167.php
В конвертированном приложении на UniDAC прописал
nowait;read_committed;rec_version;read - для читающей трензакции
wait;read_committed;rec_version;write - для пишущей или делающей то и другое.
Впереди - заставить это же приложение работать с Oracle и PostgreSQL
Re: TrEdit, nowait, Design
Поскольку UniDAC является универсальным набором компонент, предназначенным для работы с различными СУБД, свойство TUniTransaction.IsolationLevel предусматривает установку уровней изоляции транзакции, общих для различных СУБД. Для установки параметров транзакции, специфичных для определенной СУБД, как в Вашем случае, и предусмотрен уровень ilCustom.