|
|
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
Используется связка Firebird 3.0 + Delphi XE8 + FireDAC. Есть необходимость выполнения ad hoc запросов. Поэтому нельзя определиться заранее, что использовать (ExecSQL или Open). Использование OpenOrExecute приводит к багу при стандартных настройках AutoCommit: после создания таблицы она не видна (AutoCommit не сработал). Воспроизведение: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Чтобы обойти этот баг, в настоящее время использую ручное управление транзакциями: Код: vbnet 1. 2. 3. Можно ли как-нибудь решить проблему, не переходя к ручному управлению транзакциями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 11:38 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
12.12.2019 11:38, SQLIntento пишет: > Можно ли как-нибудь решить проблему, не переходя к ручному управлению транзакциями? остыпьте и мне. я тоже поржу. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 11:50 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
SQLIntento Используется связка Firebird 3.0 + Delphi XE8 + FireDAC. Есть необходимость выполнения ad hoc запросов. Поэтому нельзя определиться заранее, что использовать (ExecSQL или Open). Использование OpenOrExecute приводит к багу при стандартных настройках AutoCommit: после создания таблицы она не видна (AutoCommit не сработал). Воспроизведение: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Чтобы обойти этот баг, в настоящее время использую ручное управление транзакциями: Код: vbnet 1. 2. 3. Можно ли как-нибудь решить проблему, не переходя к ручному управлению транзакциями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 12:12 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
12.12.2019 12:12, Квейд пишет: > разве для DDL-выражений нужен commit? коммит нужен всегда. но при определённых условиях он может выполняться автоматом. у Оракла он автомат. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 12:16 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
SQLIntento Можно ли как-нибудь решить проблему, не переходя к ручному управлению транзакциями? SQLIntento Код: pascal 1. Подозреваю, что дак использует метаданные, загруженные при коннекте. Создал табличку - выполни реконнект. А лучше в рантайме не создавай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 13:38 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
12.12.2019 13:38, ёёёёё пишет: > Создал табличку - выполни реконнект. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 13:45 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
ёёёёё Создал табличку - выполни реконнект. А лучше в рантайме не создавай. В программу для администраторов приложения включено средство администрирования СУБД, с которым работает приложение. Оно среди прочего даёт возможность набрать в редакторе произвольные запросы и выполнить их. Поэтому неизвестно, какие именно запросы (create, insert, select, ...) будет выполнять администратор приложения. В настоящий момент из-за описанного бага был осуществлён переход к ручному управлению транзакциями. В начале любого сценария выполняется "set transaction", после выполнения DDL выполняются последовательно "commit" и "set transaction". Это не очень удобно, поэтому и задал вопрос о возможности исправления бага FireDAC при работе в режиме AutoCommit. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 14:02 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
12.12.2019 14:02, SQLIntento пишет: > в редакторе произвольные запросы и выполнить их. > Поэтому неизвестно, какие именно запросы (create, insert, select, ...) уже смешно Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 14:04 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
SQLIntento неизвестно, какие именно запросы (create, insert, select, ...) будет выполнять администратор SQLIntento В программу для администраторов приложения включено средство администрирования СУБД А зачем вы создали приложение, которое позволяет вводить запросы, которые оно не может обработать? И нафига сие вообще было делать, если есть IBExpert? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 14:08 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
ёёёёё А зачем вы создали приложение, которое позволяет вводить запросы, которые оно не может обработать? Не может только при использовании AutoCommit. Поэтому в данный момент AutoCommit не используется, произвольные запросы обрабатываются. Единственный минус, что при администрировании неудобно каждый раз писать "set transaction" и "commit". ёёёёё И нафига сие вообще было делать, если есть IBExpert? От приложения требовалось предоставить встроенную функциональность по администрированию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 14:22 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
12.12.2019 14:22, SQLIntento пишет: > > От приложения требовалось предоставить встроенную функциональность по администрированию. детский сад какой-то. ну, или курсач. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 14:26 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
SQLIntento Единственный минус, что при администрировании неудобно каждый раз писать "set transaction" и "commit". В IBExpert можно подсмотреть, как сделано. Там тоже "всё вручную". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 14:42 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 14:44 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
Квейд разве для DDL-выражений нужен commit? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 14:48 |
|
||
|
FireDAC, FireBird, баг AutoCommit.
|
|||
|---|---|---|---|
|
#18+
12.12.2019 14:48, vavan пишет: > от субд уж зависит и от инструмента тоже. к примеру, в firebird-овом isql режим AutoCommit DDL включён по умолчанию. и может быть отключен по желанию командой Код: sql 1. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2019, 18:11 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39902319&tid=2038777]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
148ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 510ms |

| 0 / 0 |
