Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5   вперед  Ctrl      все
 Re: кто блокирует исходник хранимки?  [new]
ёёёёё
Member

Откуда:
Сообщений: 1306
GrigoriyFomin
...
Вопрос был - как сказать Connection исполнить код ExecSQL в пишущей транзакции? Я полагал, что ExecSQL умеет сам поределить тип команды и в этой зависимости выполняться в читающей либо пишущей транзакции. на лету менять в коннекшене транзакции не комильфо

Кто такая "Connection", которая "исполняет код"?

GrigoriyFomin
...
А у кого-то есть опыт нагрузки на сервер при коннекте/дисконнекте? Стоит ли держать коннект в простое закрытым?

Операция коннекта занимает время, заметное. Сделай лучше, чтобы твое приложение безболезненно восстанавливало коннект в случае обрыва.
6 окт 19, 19:33    [21987714]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
GrigoriyFomin
Member

Откуда:
Сообщений: 65
Vlad F
GrigoriyFomin,

О, боги. Да заведи, наконец, уже два TFDQuery. Всего ДВА.

Спокойствие, только спокойствие :) Завел я их, и сколько надо будет - буду заводить. Вопрос был сугубо академический, для развития кругозору. Чтоб не плодить того, чего можно не плодить и задействовать штатные средства. Нельзя так нельзя, будем по-старинке.
Неужели вам не интересно при изучении какой-то terra incognito узнать, какие есть новые веяния, фичи и прочее. Иначе на BDE так и можно б было продолжать сидеть, или, не приведи господь, ADO (шутю). )
6 окт 19, 19:41    [21987718]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Vlad F
Member

Откуда:
Сообщений: 986
GrigoriyFomin,

1) тебе уже один раз сказали, что нельзя, сам найдешь или носом ткнуть?
2) на самом деле, скорее всего, всё-таки можно, но новичкам лучше всего (и нагляднее и надёжнее) через пару правильно настроенных на соответствующие транзакции Query .
6 окт 19, 19:56    [21987725]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
GrigoriyFomin
Member

Откуда:
Сообщений: 65
Vlad F
GrigoriyFomin,

1) тебе уже один раз сказали, что нельзя, сам найдешь или носом ткнуть?

Да видел я, 2 юриста - 3 мнения. ктото говорит - невозможно, кто-то говорит, что нефиг делать. Кого мне в догматы записать?
Vlad F
2) на самом деле, скорее всего, всё-таки можно, но новичкам лучше всего (и нагляднее и надёжнее) через пару правильно настроенных на соответствующие транзакции Query .

так я и хочу узнать, как делать красиво и без потенциальных граблей. За что всем участвующим спасибо. Может, у меня благодаря вашей критике переосмысление принципов работы с БД происходит ) А после прочтения топика еще жменька новичков просветлиться )
6 окт 19, 20:27    [21987747]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Старый плюшевый мишка
Member

Откуда:
Сообщений: 643
Vlad F
GrigoriyFomin,

О, боги. Да заведи, наконец, уже два TFDQuery. Всего ДВА.


В общем случае маловато будет. Маловато. (С) Сценарий - в датасете в читающей транзакции выбрана запись для редактирования. Стартована пишущая снапшот-транзакция, запись в ней перезачитана (дабы быть уверенным, что имеем последнее состояние записи на момент начала редактирования, а не чтения 100500 записей в датасет и ковыряния пальцем в носе юзера, и если, пока думаем, оно поменяется, то получим конфликт) при редактировании выходим в справочник значений одного из полей и обнаруживаем, что желаемого там нет. Сталбыть, надо добавить. И чтоб добавленное сохранилось независимо от результата редактирования записи с данными. Ну вот хоть ты тресни, а нужна ещё одна пишущая. А если нужна пессимистическая блокировка грозди деток-внуков-правнуков холостым апдейтом левой специальной таблицы, то ещё и третья. Это концептуально, про ОгнеУтку я ни уха ни рыла, что там можно, что нельзя. Опять же все говорят, что одна RO RC на всё приложение нынче не только не модно, но даже вроде и моветон-с. Я не верю. Но я поросший мохом старый пень, мне можно.
6 окт 19, 20:43    [21987761]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Vlad F
Member

Откуда:
Сообщений: 986
Парни, я понял, это такой FireDAC-тролль, засланный Арефьевым для подогрева интереса к пока по-прежнему, имхо, мало востребованной технологии.
6 окт 19, 20:48    [21987768]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Старый плюшевый мишка
Member

Откуда:
Сообщений: 643
Vlad F
Парни, я понял, это такой FireDAC-тролль, засланный Арефьевым для подогрева интереса к пока по-прежнему, имхо, мало востребованной технологии.


Не горячись. Все мы учились понемногу, чем-нибудь и как-нибудь ()С
6 окт 19, 20:52    [21987770]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10079
СПМ
Опять же все говорят, что одна RO RC на всё приложение нынче не только не модно, но даже вроде и моветон-с.


там весь сыр бор с тем что обнаружилось, что временные блобы (LIST и всё такое) таки подтекают, из-за того что живут до конца транзакции. Я не вижу здесь большой проблемы, ибо считаю что запросы с LIST это уже отчёты, а они вообще в отдельной транзакции должны запускаться и уже не в RC, а SNAPSHOT

Впрочем именно сейчас я не вижу никаких препятствий чтобы стартовать хоть 100500 RO RC транзакций. Теперь идентификатор транзакции ограничен числом 2^48
6 окт 19, 20:55    [21987771]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
ёёёёё
Member

Откуда:
Сообщений: 1306
Разве Фаердак умеет что-то, чего не умеют ibx/fib+?
Наоборот.
6 окт 19, 20:57    [21987773]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10079
СПМ
Опять же все говорят, что одна RO RC на всё приложение нынче не только не модно, но даже вроде и моветон-с.


там весь сыр бор с тем что обнаружилось, что временные блобы (LIST и всё такое) таки подтекают, из-за того что живут до конца транзакции. Я не вижу здесь большой проблемы, ибо считаю что запросы с LIST это уже отчёты, а значит они вообще в отдельной транзакции должны запускаться и уже не в RC, а SNAPSHOT

Впрочем именно сейчас я не вижу никаких препятствий чтобы стартовать хоть 100500 RO RC транзакций. Теперь идентификатор транзакции ограничен числом 2^48
6 окт 19, 20:58    [21987774]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
GrigoriyFomin
Member

Откуда:
Сообщений: 65
Vlad F
Парни, я понял, это такой FireDAC-тролль, засланный Арефьевым для подогрева интереса к пока по-прежнему, имхо, мало востребованной технологии.

я стесняюсь спросить, а что в дельфе есть более продвинутое, чем FireDAC? Вы еще за ADO ил BDE сагитируйте!!!!! Мне конечно, многого не хватает в FireDAC, что есть например в IBDAC, но Firedac идет в коробке, в отличие от платного IBDAC.
6 окт 19, 20:58    [21987775]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10079
чёт с этим глючащим интернетом дважды сообщение ушло. Пожалуй подожду завтра
6 окт 19, 20:59    [21987777]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Симонов Денис
Member

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

FireDac вообще-то тоже платный. Он включен разве что в самой расширенной редакции Delphi, которая совсем не бесплатная
6 окт 19, 21:01    [21987778]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Vlad F
Member

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

Включен он на самом деле в любой современной редакции.
6 окт 19, 21:04    [21987780]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
GrigoriyFomin
Member

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

FireDac вообще-то тоже платный. Он включен разве что в самой расширенной редакции Delphi, которая совсем не бесплатная

ну привру я , что допустим, дельфи купили, докупать еще Dbaware - зачем ,если FireDAC покрывает все потребности, разобраться в нем только надо.
6 окт 19, 21:05    [21987781]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Симонов Денис
Member

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

ну в community версии то его точно нет. Совсем недавно этот момент перетирали. Мол вообще бесполезную редакцию выпустили.

ёёёёё,

И да, кое-что FireDac умеет, что не умеет IBX/FibPlus
6 окт 19, 21:08    [21987782]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
ёёёёё
Member

Откуда:
Сообщений: 1306
GrigoriyFomin
... Firedac идет в коробке, в отличие от платного IBDAC.

Т.обр., ты пользуешься Enterprise/Architect редакцией Delphi?
Очень прикольная экономия: заплатить 210 000 / 330 000 рублей за Enterprise/Architect (соответственно) выгоднее, чем 90 000 за Professional и докупить IBDac за 10 000?
Зы: IBDac не использую, просто рассказ про "искаропки" умилил.
6 окт 19, 21:14    [21987784]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28280
GrigoriyFomin
Вопрос был сугубо академический, для развития кругозору. Чтоб не плодить того, чего можно не плодить и задействовать штатные средства.

да блин, тут примитивная логика же. Если есть некий connection, то у него наверняка есть defaultTransaction, причем, РАЗУМЕЕТСЯ, ОДНА.
Либо, если её нет, то используются какие-то конкретные параметры транзакции для выполнения connection.execSQL.

Это не просто естественно и очевидно, было бы крайне странно иметь тут какое-то другое поведение или возможности.
Например, нахрена connection-у ДВЕ транзакции. А почему две, а не три? Вот потому и одна.
Потому что у других драйверов и компонент транзакция либо одна, либо ею вообще никак управлять нельзя.

Это хоть и старьё, но прочитать можно
http://www.ibase.ru/choosecomp/

Или вот капитальный трэшак про транзакции в dbExpress:
https://www.sql.ru/forum/932837/dbexpress-i-upravlenie-tranzakciyami
6 окт 19, 21:26    [21987790]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Vlad F
Member

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

Ты уверен, что нет? Сам поставил/проверил? Или все таки ОБС?
6 окт 19, 21:26    [21987791]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
ёёёёё
Member

Откуда:
Сообщений: 1306
Vlad F
Симонов Денис,

Включен он на самом деле в любой современной редакции.

См. стр. 17: https://www.embarcadero.com/ru/products/delphi/product-editions
Если не Энтерпрайз/Арчитекс - только локальные коннекты.
6 окт 19, 21:27    [21987792]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Vlad F
Member

Откуда:
Сообщений: 986
kdv,

Дмитрий совершенно прав, и на счёт простой банальной логики прежде всего. Скорее всего ее можно перенастраивать, но она всегда остаётся одним и тем же привязанным внутренним объектом.
6 окт 19, 21:35    [21987793]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Vlad F
Member

Откуда:
Сообщений: 986
ёёёёё
Vlad F
Симонов Денис,

Включен он на самом деле в любой современной редакции.

См. стр. 17: https://www.embarcadero.com/ru/products/delphi/product-editions
Если не Энтерпрайз/Арчитекс - только локальные коннекты.

Второй чудак подключился, так входит в комплект или нет? По простому скажи.
6 окт 19, 21:37    [21987794]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28280
Vlad F
Включен он на самом деле в любой современной редакции.

FireDAC сейчас есть только в Enterprise.

https://www.embarcadero.com/docs/Delphi-Feature-Matrix.pdf

см. страницу 15. И там в столбце Professional оно типа есть, но со сноской № 2. А сноска № 2 гласит:
X2 =Optional with FireDAC Client/Server pack in Professional editions

А Firedac для Prof уже как минимум год (а то и 2) не продается :-)
То есть, отдельно его купить (для Prof) никак невозможно.
ёёёёё
Если не Энтерпрайз/Арчитекс - только локальные коннекты.

так что никаких вам коннектов FireDAC в Prof, даже локальных (см. выше).
6 окт 19, 21:41    [21987795]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
ёёёёё
Member

Откуда:
Сообщений: 1306
kdv
...
Это не просто естественно и очевидно, было бы крайне странно иметь тут какое-то другое поведение или возможности.
Например, нахрена connection-у ДВЕ транзакции. А почему две, а не три? Вот потому и одна.
Потому что у других драйверов и компонент транзакция либо одна, либо ею вообще никак управлять нельзя.
...

Ну вот автор FIB+ с тобой не согласен... у компонента "коннекшн" TpfibDataBase сразу и DefaultTransaction и DefaultUpdateTransaction... а в самых распоследних вроде и для Refresh отдельную предусмотрели (или сие уже в датасете - не помню).


kdv
...
Это хоть и старьё, но прочитать можно
...

Обе статьи - совсем плохо. Да, других статей нет. :(
6 окт 19, 21:42    [21987796]     Ответить | Цитировать Сообщить модератору
 Re: кто блокирует исходник хранимки?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48611

Как же у мышевозников всё запутанно с компонентами...

Posted via ActualForum NNTP Server 1.5

6 окт 19, 21:44    [21987797]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5   вперед  Ctrl      все
Все форумы / Firebird, InterBase Ответить