В целом подобные проблемы (когда у вас два почти идентичных приложения и работает только одно из них) часто диагностируются путем сравнения их поведения и поиска различий, а затем попытки изменить настройки компьютера или приложения, чтобы устранить подозрительные и ненужные различия, если толькообе программы работают.Полезным инструментом для этого может быть, например, SysInternals Process Monitor, который можно настроить для записи файлов треков ввода / вывода (также реестра и других вещей), которые могут дать ценную информацию о реализации программы и ее сбое.В этом конкретном случае, когда вы нажимаете кнопки «Проверить соединение» в окнах ODBC32 и ODBC64, отслеживание доступа к файлам и реестру, вероятно, подскажет, где что-то не так для 64-битного приложения, в отличие от 32-битного.
Если на некоторое время пропустить систематическую диагностику и попробовать просто угадать, то Марк предполагает, что 64-разрядному приложению не удается найти правильный fbclient.dll
(где собственное может означать много вещей: версия FB, 32/64-битность, текстоваяфайлы конфигурации, а что нет).
Видя, что в ваших окнах настройки ODBC есть явные поля «Клиент» с кнопкой «Обзор», я предполагаю, что ODBC пытается автоматически определить местонахождение клиентской библиотеки и по какой-то причине находит некоторыенеудачникЗатем я предлагаю вам попытаться установить в этом поле «Клиент» именно тот файл fbclient.dll
, который использует сам движок Firebird, и если вы не изменили параметры установки по умолчанию, это будет что-то вроде «c: \ Program Files \».Firebird \ Firebird_3_0 \ bin \ fbclient.dll "