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

Откуда:
Сообщений: 14
Добрый день!
Ситуация такая. Поддерживаю штаны старым программам, написанных на Delpphi в прошлом десятилетии. Сервер FireBird 1.5.
Программы работают через BDE и тянут их еще с win2000. Для того, чтобы они работали на win7 был скачен установщик BDE посвежее и свежая (на то время) gds32.dll. С новой dll заработали программы, которые не использовали в структуре ключевые слова, введенные в более поздних версиях FireBird (насколько я понял в диалекте 3). Те программы, которые использовали в названиях полей "type", "year" и т.п. c новой dll работали, но ругались на ключевые слова. Для них вместо новой gds32.dll скормили старую(не исключено, что еще от InterBase 5) - положили в место, откуда запускалась программа. И все работало корректно.
Сейчас надо перетаскивать эти же программы на win10.
Программы, с базами не использующие ключевые слова 3его диалекта заработали нормально. Но вот программы с базами, использующие ключевые слова отказались работать со старой gds32.dll(от InterBase) - нет соединяется с базой, но работают с новой dll с ошибками(ругается на эти поля).
Подскажите, пожалуйста, есть ли бескровное решение этой проблемы?
Спасибо!
7 авг 19, 08:06    [21943427]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 25779
Михаил П
Подскажите, пожалуйста, есть ли бескровное решение этой проблемы?

Я-бы первым делом попробовал посвежее fbclient.dll, которую можно переименовать в gds32.dll.
7 авг 19, 08:36    [21943434]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Михаил П
Member

Откуда:
Сообщений: 14
автор
Я-бы первым делом попробовал посвежее fbclient.dll, которую можно переименовать в gds32.dll.

Скачал последнюю версию для FB 1.5.3. и переименовал.
Все также. Программа работает с ним до тех пор, пока не начинаются запросы с зарезервированными именами. Скорее всего база создавалась в 1 диалекте, когда разрешалось называть поля type, year и т.п. В 3ем диалекте их зарезервировали.
До win10 можно было использовать старый gds32.dll. В Win10 он отказывается работать. Новые работают, но такая неприятность.
Как бы заставить работать под win10 старую dll или найти новую, поддерживающую первый диалект.
7 авг 19, 10:31    [21943529]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 25779
Михаил П
Скачал последнюю версию для FB 1.5.3. и переименовал.

Есть куда более свежее.
7 авг 19, 10:59    [21943547]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Мимопроходящий
Member

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

что-то не о том сия песня звучала...
КЛИЕНТ не парсит запросы.

Posted via ActualForum NNTP Server 1.5

7 авг 19, 11:16    [21943566]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
BlackEric
Member

Откуда:
Сообщений: 747
Проще программы доработать. Костыли могут отвалиться с любым апдейтом 10ки.
7 авг 19, 11:17    [21943567]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
KreatorXXI
Member

Откуда: Москва
Сообщений: 783
BlackEric
Проще программы доработать.


Совсем крайний случай. Кто так делает? Обычно - если десяток лет ничего не делал, то и следующий десяток нужно прожить с костылями.
7 авг 19, 12:08    [21943640]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 3967
Михаил П
Подскажите, пожалуйста, есть ли бескровное решение этой проблемы?
В ярлыке программы в 10-ке можно установить совместимость вплоть до win-95, и из этого работает реально многое.

Но, как уже сказали выше, клиент не парсит запросы. А значит, проблема либо в сервере, либо в интерпретации программой "ответов" клиента.
7 авг 19, 12:40    [21943702]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 3967
KreatorXXI
BlackEric
Проще программы доработать.


Совсем крайний случай. Кто так делает? Обычно - если десяток лет ничего не делал, то и следующий десяток нужно прожить с костылями.
+
желательно два десятка
7 авг 19, 12:41    [21943703]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Михаил П
Member

Откуда:
Сообщений: 14
автор
Но, как уже сказали выше, клиент не парсит запросы. А значит, проблема либо в сервере, либо в интерпретации программой "ответов" клиента.

Но еще на win7 программа работала с обоими клиентами. Со старым корректно, а с новым сервер ругался на поля. Можно предположить, что старый клиент считает, что база 1 диалекта, а новый - 3(что неверно). Ошибку присылает сервер, который отказывается понимать запрос с зарезервированными словами в качестве полей.
Пока не встречаются эти поля - все ОК.
7 авг 19, 13:25    [21943754]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Мимопроходящий
Member

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

07.08.2019 13:25, Михаил П пишет:
> Со старым корректно, а с новым сервер ругался на поля.

без воспроизводимого примера веры этому нет.

Posted via ActualForum NNTP Server 1.5

7 авг 19, 13:30    [21943761]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Михаил П
Member

Откуда:
Сообщений: 14
Мимопроходящий
без воспроизводимого примера веры этому нет.

Это настолько необычно звучит? :) Зачем мне обманывать? Разница между полноценной работы программы на win7 и вылетанием такой ошибки всего лишь разные версии gds32.dll. С клиентом IntrBase 5 работает, а с относительно свежим клиентом FireBird не очень. При чем, если не лезть на формы с неправильными запросами, то остальная часть работает.

К сообщению приложен файл. Размер - 16Kb
7 авг 19, 13:46    [21943775]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Мимопроходящий
Member

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

07.08.2019 13:46, Михаил П пишет:
> С клиентом IntrBase 5 работает

ну вот, уже появился InterBase...
и есть подозрение, что не клиентом единым...

Posted via ActualForum NNTP Server 1.5

7 авг 19, 13:54    [21943780]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Михаил П
Member

Откуда:
Сообщений: 14
Мимопроходящий
ну вот, уже появился InterBase...

Он был в самом вопросе :)
Просто факт, то такие же стары программы, работающие через BDE, но не имеющие таблиц с "запрещенными" словами, работают нормально с новыми клиентами и на win10. Проблема что кто-то где-то путает 1 и 3 диалект и вводит в заблуждение сервер. Ну и старый клиент отказался работать на win10 :) Разве такая мелочь может заставить переводить базу с 1 диалекта на 3ый?
7 авг 19, 14:06    [21943795]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Мимопроходящий
Member

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

07.08.2019 14:06, Михаил П пишет:
> Проблема что кто-то где-то путает 1 и 3 диалект и вводит в заблуждение сервер.

проблема скорее всего в том, что чьи-то шаловливые ручки перевели базу с InterBase на Firebird,
да ещё и со сменой диалекта.

клиент от IB5.X ничего не знает о диалектах, а потому ему плевать на это.
но в варианте с клиентом FB, это не канает.

давай сюда вывод gstat -h <твоябаза>

Posted via ActualForum NNTP Server 1.5

7 авг 19, 14:13    [21943803]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Михаил П
Member

Откуда:
Сообщений: 14
Database header page information:
Flags 0
Checksum 12345
Generation 1348435
Page size 1024
ODS version 10.1
Oldest transaction 1341650
Oldest active 1347200
Oldest snapshot 1346895
Next transaction 1348422
Bumped transaction 1
Sequence number 0
Next attachment ID 0
Implementation ID 16
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 1
Creation date Jul 25, 2017 18:49:59
Attributes force write

Variable header data:
Sweep interval: 20000
*END*
7 авг 19, 14:28    [21943821]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
hvlad
Member

Откуда:
Сообщений: 10531
Насколько я понял и помню, gds32 от ib5 понятия не имеет про диалекты и сервер скорее назначает таким коннектам 1-ый диатект.
Опять же, насколько я помню, у BDE в св-вая алиаса (или драйвера ?) можно было указать какой диалект использовать.
Похоже, что BDE настроен на 3-ий диалект и более новые клиенты (чем от ib5) это послушно передают серверу.
7 авг 19, 14:29    [21943823]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Мимопроходящий
Member

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

07.08.2019 14:29, hvlad пишет:
> Опять же, насколько я помню, у BDE в св-вая алиаса (или драйвера ?) можно было указать какой диалект использовать.

это видимо что-то уж совсем новое.
у BDE 5.01 (от Delphi 7) ничего этого нет.
там можно "пролезть" через доп.параметры драйвера, но не думаю, что это случай ТС.

Posted via ActualForum NNTP Server 1.5

7 авг 19, 14:38    [21943833]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9827
В BDE 3-ий диалект не работает почти никак. Там его через одно место поставить можно, но полной работоспобности это не даст.

вроде в HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\Drivers\Intrbase\Db Open\SQLDIALECT
7 авг 19, 15:03    [21943853]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Михаил П
Member

Откуда:
Сообщений: 14
Должен же быть механизм сообщить клиенту, что обращаемся к базе с диалектом 1? Тот же самый IBExpert прекрасно общается через клиент FireBird с базой на диалекте 1. Правда делает он это безо всяких BDE. Выходит дело в BDE?
автор
у BDE 5.01 (от Delphi 7) ничего этого нет.
там можно "пролезть" через доп.параметры драйвера, но не думаю, что это случай ТС.

вот тут стало интересно :)
7 авг 19, 15:04    [21943854]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
hvlad
Member

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

https://www.sql.ru/forum/79257/bde-i-dialect-3
7 авг 19, 15:05    [21943858]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Мимопроходящий
Member

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

07.08.2019 15:05, hvlad пишет:
> Мимопроходящий,
> https://www.sql.ru/forum/79257/bde-i-dialect-3

ну так а я шо сказал?
per aspera ad anum
именно этот рецепт.

Posted via ActualForum NNTP Server 1.5

7 авг 19, 15:12    [21943872]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Михаил П
Member

Откуда:
Сообщений: 14
При установленном DBE 5.01 этого параметра в реестре не нашел.
А этим точно BDE должен заниматься? Ведь на компьютере могут стоять разные программы, которые обращаются к базам с разным диалектом.
7 авг 19, 15:26    [21943882]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
hvlad
Member

Откуда:
Сообщений: 10531
Дело не в BDE.
Дело в версии клиента, точнее в версии сетевого протокола, который он использует.
Не думаю, что клиенты старше IB5 используют 9-ю версию сетевого протокола.
Клиент FB1 уже использует 10-ю версию.
7 авг 19, 15:28    [21943886]     Ответить | Цитировать Сообщить модератору
 Re: на Win10 не хочет работать со старой gds32.dll  [new]
Мимопроходящий
Member

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

07.08.2019 15:26, Михаил П пишет:
> А этим точно BDE должен заниматься? Ведь на компьютере могут стоять разные программы, которые обращаются к базам с разным диалектом.

не отвлекайся.

и так, вы, ничтоже сумняшеся, перевели базу из-под InterBase на FB1.5
при этом, работать с клиентом от 1.5 вы (по вашим словам) не можете.

вопрос: Ы?

Posted via ActualForum NNTP Server 1.5

7 авг 19, 15:32    [21943895]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Firebird, InterBase Ответить