Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Firebird, Interbase > использование FireBird без инсталяции


Автор: _hunter 22.2.2006, 17:18
Добрый день.

Подскажите, пожалуйста, как использовать FireBird не инсталируя его.
GDS32.DLL в папку с програмой я положил. в services "gds_db 3050/tcp" дописал.
и всеравно при запуске приложения получаю сообщение "unavailable database." smile

Автор: Alex 22.2.2006, 17:55
А старт серверу сказал? smile

Автор: _hunter 22.2.2006, 17:59
??? это как ( и где )?
у меня есть только GDS32.DLL

Автор: remax 23.2.2006, 02:46
Такой же вопрос от hunter был в Delphi/Общие вопросы - там я подробно ответил smile

Автор: Alex 23.2.2006, 07:26
Цитата(_hunter @ 22.2.2006, 17:59 Найти цитируемый пост)
??? это как ( и где )?
у меня есть только GDS32.DLL

Так, стоп! Давайте разбиремся в терминалогии, вы хотите без инсталляции запустить именно сервер FB или его клиенскую часть?
Добавлено @ 07:29
А в обще советую прочитать http://ibase.ru/devinfo/inst_manual.htm и думаю все вопросы отпадут

Автор: _hunter 23.2.2006, 11:17
хочу и сервер и клиент.
статья помогла. спасибо.

Автор: Dimyan 26.2.2006, 06:05
Можно использовать встраиваемый сервер у которого GDS32.DLL (или fbclient.dll) как угодно, является одновременно и супер сервером (т.е. тут совсем ничего ненадо ставить просто положить длл в папку с программой вместе с запчастями и все, сама программа при обращении к длл запустит сервер) НО! этот вариант делает невозможным доступ к базе по сети или из нескольких приложений т.к. Embedded сервер блокирует используемую базу, а сетевой протокол не поддерживает. При этом Embedded может спокойно использоватся как клиент.

Автор: _hunter 27.2.2006, 11:23
мне ни сеть ни многопользовательский режим не нужны...
поэтому можно по-подробнее? ( что нужно делать/куда что ложить )

Автор: Dimyan 27.2.2006, 12:19
Цитата(_hunter @ 27.2.2006, 15:23)
мне ни сеть ни многопользовательский режим не нужны...
поэтому можно по-подробнее? ( что нужно делать/куда что ложить )

Да все весьма просто
1) вот тут _http://prdownloads.sourceforge.net/firebird/Firebird-1.5.3.4870-0_embed_win32.zip качаешь Embedded Server for Windows
2) Распаковываешь в каталог с программой и fbembed.dll переименовываешь в fbclient.dll или gds32.dll
Твое приложение нацелено на клиенскую часть FireBird (например gds32.dll) но как известно поиск прежде чем по путям системы начинается в каталоге приложения, где и обнаруживается нужная библиотека, когда программа пытается ей воспользоватся, она и поднимает встроенный в нее сервер

Вобщем программу написанную для нормального сервера FB даже переписывать ненужно просто выполни пункты 1 и 2 и все smile

Автор: _hunter 27.2.2006, 16:59
хм. не все тут просто smile
выполнил пункты 1, 2 ( переименовал в gds32.dll ( если это имеет значение ) )
а при запуске программы получаю "bad parameters on attach or create database CHARACTER SET WIN1251 is not defined" хотя на рабочей машине я такого сообщения отродясь не видел.
окна с одного компакта ставились

Автор: Dimyan 28.2.2006, 08:59
Весьма странно
ну просто интереса ради с NONE кодировкой запускается?

Автор: Alex 28.2.2006, 09:37
Цитата(Dimyan @ 28.2.2006, 08:59 Найти цитируемый пост)
Весьма странно
ну просто интереса ради с NONE кодировкой запускается?

Я больше чем уверен, что запускается.

Дело в том, что не так просто в поставкувключен еще ряд файлов. Кодировки хранятся в ..\intl\fbintl.dll только не нужно бежать брать эту dll и кидать ее в папку с программой, не поможет.
Для того что бы все работало:
IBx:
Структура размещения файлов следующая:
Папка_программы\gds32.dll (переименованная fbembed.dll)
Папка_программы\firebird.conf
Папка_программы\ib_util.dll
Папка_программы\intl\fbintl.dll
Папка_программы\udf\fbudf.dll
Возможность указать IBx компонентам где лежит наш сервер http://forum.vingrad.ru/index.php?showtopic=65158&unread=1&hl=fbembed\.dll

FIB+:
Здесь можно разместить точно так же или вынести весь сервер в отдельную папку и указать путь к fbembed.dll (указывайте только полный путь, а то кто его знает, что за dll найдут винды...)
Папка_программы\server\fbembed.dll
Папка_программы\server\firebird.conf
Папка_программы\server\ib_util.dll
Папка_программы\server\intl\fbintl.dll
Папка_программы\server\udf\fbudf.dll

Я не включил файл firebird.msg, он в большинстве случаев не нужен, т.к. сообщение об ошибках по умолчанию выводятся на английском языке.

Автор: Programister0 26.9.2007, 21:42
спасибо ребят вы мне очень помогли особенно Dimyan

Добавлено через 1 минуту и 46 секунд
отлично!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)