|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Саша, приветствую! Есть вот такой код, который вызывает сабж: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Ну а туда скармливается стандартный IBEBlock по сравнению баз: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Самописная программка которая автоматизирует создания скрипта для обновления меты баз. Т.к. сейчас усиленно готовимся к переходу на трешку в продакшене то и решили подтянуть и крайний IBEScript.dll версия от 27.10.2016. На версии IBEScript.dll от 25.02.2014 все выполняется нормально, а вот на сабжевой валится с ошибкой что connection shutdown. Ну и хочется понять собственно почему на более новой версии валится с ошибкой и есть ли в новой версии dll-ки какие-то фишки в части поддержки FB30, а именно в плане ibec_CompareMetadata в режиме ServerVersion=FB30. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 09:55 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Потому что версия от 27.10.2016 вызывает fb_shutdown перед выгрузкой клиента, в том числе для FB 3. Попробуй сегодняшний билд, только что выложил. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 15:18 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
IBExpert, Спасибо, проверим. IBExpertперед выгрузкой клиента Вот только не понял зачем при выгрузки dll-ки вызывать fb_shutdown? Если конечно я правильно понял фразу :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 17:19 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Maxim KovalenkoВот только не понял зачем при выгрузки dll-ки вызывать fb_shutdown? Если конечно я правильно понял фразу :) Когда ты закрываешь последний (в блоке) коннект, перед выгрузкой fbclient.dll вызывается (вызывалась) fb_shutdown. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2017, 16:14 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
IBExpert, Саша, привет. Увы вот такая бяка все равно лезет, на старой dll-ке - все нормально. Запускается, бежит строка че делает, потом доходит до DB target from version [01.03.2017] to version [03.03.2017] Comparing in progress... Linking dependencies... definitions... а потом Валится сообщение. Unsuccessful execution caused by a system error that precludes successful execuption of subsequent statements. connection shutdown ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2017, 10:24 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
В эксперте тот же блок тоже ошибку дает? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2017, 11:28 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
IBExpert, Нет, программа (по крайне мере на 2017.2.7.1) отрабатывает нормально. Но на Linking dependencies... definitions... тоже задумывается, но потом бежит дальше и дает результирующий скрипт. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2017, 12:35 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Ну, тогда осталось проверить на сравнении какой-нибудь другой базы. Можно даже с самой собой. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2017, 17:03 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Саша, не очень понимаю что это дает. Есть след. набор фактов. 1. Старая dll-ка отрабатывает нормально, НО не понятно что там с поддержкой FB30? 2. IBExpert и старый и новый отрабатывает нормально. 3. Новая, в том числе и от 01 марта падает Вывод, на мой не посвященный взгляд, достаточно очевидный. Что-то в dll-ке Ибо и код IBBlock и вызов не меняется, идет подмена только dll-ки. и тот же IBBlock в свежем IBExpert-е отрабатывает на ура. Вопрос, что даст сравнение других баз? Не должна работоспособность dll-ки зависеть от места базы или самой базы. Тем более это практически одна и та же по мета. Т.е. source - это база разработчиков, target - эталонная, копии которой работают в продакшене. Т.е. просто некая дельта, причем односторонняя. От source к target. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2017, 17:27 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Если это воспроизводится с любой базой, то и я у себя это воспроизведу на любой базе, скорее всего. Если только на конкретной - то без нее я не воспроизведу. Вот что это дает. А, вот еще вижу, что у тебя в строке коннекта просто fbclient.dll указана. А откуда оно его тягает?? Ты уверен, что это клиент от тройки? Не, ты попробуй полный путь к fbclient.dll прописать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2017, 17:40 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Да не проблема попробую. Только. это я сравниваю пока что именно FB2.5 (см код IBEBlock) т.е. даже когда и source и target 2.5 не сравнивает и падает. А fbclient.dll лежит в той же папке с exe-ком. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 12:22 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Maxim KovalenkoДа не проблема попробую. Только. это я сравниваю пока что именно FB2.5 (см код IBEBlock) т.е. даже когда и source и target 2.5 не сравнивает и падает. А fbclient.dll лежит в той же папке с exe-ком. А. Мне почему-то почудилось, что речь о FB3. Тогда все понятно. Для FB 2.5 fb_shutdown дергается и в актуальной версии IBEScript. Дергать ее или не дергать - определяется по версии fbclient.dll, версия сервера в настройках ibec_CompareMetadata рояли не играет. Как лечить - я, честно говоря, пока не представляю. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2017, 05:17 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Придумал такой вариант. В начале блока (или непосредственно перед дисконнектами) нужно вызвать ibec_SetEnvironmentVariable('IBECallFBShutdown', FALSE); Это предотвратит вызов fb_shutdown после дисконнекта. После дисконнектов можно вернуть обратно: ibec_SetEnvironmentVariable('IBECallFBShutdown', TRUE); Или не возвращать, если в эксперте FB 2.5 embedded не используется. IBEScript нужно свежий скачать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2017, 09:16 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
IBExpertibec_SetEnvironmentVariable('IBECallFBShutdown', FALSE); Если я правильно понял, то это нужно вставить вот так? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
А для FB3 то же нужен этот вызов или ты отключил его и мне тогда нужно анализировать добавлять или нет отключение дисконнекта в зависимости от версии FB? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2017, 10:08 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Maxim KovalenkoЕсли я правильно понял, то это нужно вставить вот так? Пойдет. Maxim KovalenkoА для FB3 то же нужен этот вызов или ты отключил его и мне тогда нужно анализировать добавлять или нет отключение дисконнекта в зависимости от версии FB? Ничего больше анализировать не надо. Для клиента FB 3 fb_shutdown и так не вызывается, значение IBECallFBShutdown не проверяется. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2017, 10:38 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
IBExpertПойдет. Ok, попробуем. Но IBEScript.dll нужно скачать свежую? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2017, 10:44 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Maxim KovalenkoНо IBEScript.dll нужно скачать свежую? А сам как думаешь? Мой ответ на этот вопрос чуть выше был. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2017, 11:06 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
IBExpert А сам как думаешь? Так не очень понятно, т.к. от 1 марта я скачивал, где ты отключал shutdown для FB3, а тут я вставляю строчку, и вроде у тебя ничего не добавляется. Я уже посмотрел что крайний IBEScript.dll от 5 марта. Заберем, не вопрос. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2017, 11:26 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Попробовали, по крайне мере не упало и скрипт сваял похожий на правду. А то получалось совсем интересно, вытаскивалась мета из источника, потом материлось на shutdown, но ibblock дорабатывал честно до конца, а т.к. данные по target были пустые он благополучно создавал результирующий скрипт где все объекты базы дропались. Клевый компарер получался)). Саш, может этот вариант тоже защитить от дурака, если по target ни одной строчки меты вытащить не получилось, то что-то вразумительное писать, что мол нету у тебя ничего по приемнику? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2017, 12:13 |
|
ExecScriptText2 ошибка на версии IBEScript.dll от 27.10.2016
|
|||
---|---|---|---|
#18+
Кстати, сравнивать и впрямь стало не хуже, чем в 2013 году :) Для меня просто эталоном является IBEScript.dll от сентября 2013 года. Несколько десятков-сотен по клиентам раскидано, не обновляется он в нашей среде автоматом. Потом Александр затеял масштабные переделки по компареру и были какое-то время нестыковки, которые ему сообщали и он исправлял. Теперь все отлично. Я периодически сравниваю при работах у клиентов скрипты при сравнении метаданных, слепленные старым этим IBEScript и новым, который у меня. Отличия лишь иногда в порядке следования однотипных операторов, ну тут уж - понятно - как выборка легла из системных таблиц. Не будет лениво если, то затею обновление IBEScript у клиентов в ходе очередного автообновления своего автообновлятора :) Простите за каламбур. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2017, 12:26 |
|
|
start [/forum/topic.php?fid=42&fpage=19&tid=1599128]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
others: | 285ms |
total: | 451ms |
0 / 0 |