Quantcast
Channel: SQL.ru: Firebird, InterBase
Viewing all articles
Browse latest Browse all 1677

firebird client 32bit 64bit

$
0
0
задолбала меня эта мешанина, хочу обсудить, прежде чем писать петиции трекеру.

Факт: на текущий момент имя fbclient.dll 32бит и 64бит идентично. И определить битность мы можем только специальными тулзами, которые сходу еще и просто так не найдешь.

Последствия: Если установлен 64битный сервер, то 32битные приложения, понятно, не работают с этой либой. И надо где-то искать 32битный fbclient.dll. Впрочем, наоборот (32бит сервер и 64бит приложения) та же проблема.

У InterBase с этим все куда проще. У них и так 32битная либа была gds32.dll, а при выпуске 64бит редакции ее обозвали ibclient64.dll.

Предлагаю, хотя бы как минимальную задачу - поставляемый в дистре (и zip) fbclient.dll там же в дистре копировать в fbclient64.dll и fbclient32.dll соответственно, чтобы оно прямо там же в bin и лежало (не в момент установки, а заранее).

Тут возникает вопрос. Надо-ли, чтобы 32битный инсталлятор ставил опционально 64битного клиента, и наоборот? Если да, то куда его ставить - в отдельную папку?

Эту фигню надо было решать еще давно. Хотя бы обозвать fbclient64.dll. А сейчас, например, odbc-драйвер точно так же может "запутаться" с битностью dll. И проблема в том, что сообщение об ошибке, как и везде - "не могу загрузить fbclient.dll". Почему? А не могу, и все.

p.s. я еще одну запредельную шизню приведу: в 64битном ФБ есть instclient.exe, как и в 32битном. Так вот, он работает точно так же, как и 32битный. Т.е. при instclient i g превращает fbclient.dll (64битный) в ... gds32.dll ! Которая на самом деле 64битная! Ужос. Либо instclient из 64битного дистра надо убирать вообще, либо отрубать ему опцию "i g" для 64битного варианта.

Viewing all articles
Browse latest Browse all 1677

Trending Articles