Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Проблема с подключением к Firebird Imbedded 1.5   Найти похожие ветки 

 
Slider007 ©   (2005-10-27 11:56) [0]

Привет всем!
Возникла следующая проблема :
Скачал сервер Firebird-1.5.1.4481_embed_win32 (Файл Firebird-1.5.1.4481_embed_win32.zip). По инструкции распаковал и переименовал нужные файлы. В IBExpert (ver. 2005.9.25.1_full) создал базу, но подключится к ней не могу - выдает ошибку. После долгого битья головой об клавиатуру решил, что возможно что-то напортачил при установке сервера (хотя инструкцию вдоль и поперек перечитал, там кстати даже пример структуры каталогов есть), и решил попробовать подключится к базе всеми известного Magic Forum"а (привет Piter"у :)). Но результат так же оказался плачевный - к базе прицепиться я не смог, вылетает та же ошибка.
К слову - в сети стоит сервер, на котором запущен InterBase5.6, так вот к нему я без проблем цепляюсь.

Вот параметры которые я выстявлял в IBExpert при подключении к базе Magic Forum:
Сервер - Удаленный
Имя сервера - localhost или 127.0.0.1
Протокол TCP/IP
Версия сервера - пробовал все доступные
Файл базы данных - C:\Program Files\Magic Forum\base\DFBASE.GDB
Пользователь - SYSDBA
Пароль - masterkey
Кодировка WIN1251
Файл клиентской библиотеки - C:\Program Files\Magic Forum\gds32.dll

Сообщение об ошибке такое:
###########################################
Attempting to connect to:
localhost:C:\Program Files\Magic Forum\base\DFBASE.GDB

Connecting... Failed!
------------------------------------
wrong or obsolete version
.
unsupported on-disk structure for file C:\Program Files\Magic Forum\base\DFBASE.GDB; found 10, support 9.

Attempting to connect to services manager... Failed!
------------------------------------

Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
service service_mgr is not defined.

Disconnecting from database... Passed!

###########################################

Помогите пожалуйста разобраться что я не так делаю ?


 
Johnmen ©   (2005-10-27 12:12) [1]

Ты запустил одну версию сервера (FB1.5), а БД была создана под другой версией сервера (IB5.6). А у них, ес-но, разные структуры файла БД (ODS), о чём и говорится в сообщении...


 
Slider007 ©   (2005-10-27 12:16) [2]

Johnmen ©   (27.10.05 12:12) [1]
C:\Program Files\Magic Forum\base\DFBASE.GDB это же база Magic Forum, я её вообще не создавал, а создавал её Piter, и явно не под IB5.6


 
Johnmen ©   (2005-10-27 12:27) [3]

Тогда тебе к Питеру...:)


 
Desdechado ©   (2005-10-27 12:38) [4]

насколько я помню, в инструкции к Embedded написано, что тип подключения должен быть ЛОКАЛЬНЫМ
возможно, ты также неверно указал файл клиентской библиотеки


 
Slider007 ©   (2005-10-27 12:43) [5]

Desdechado ©   (27.10.05 12:38) [4]
да вообще-то я его явно указал - Файл клиентской библиотеки - C:\Program Files\Magic Forum\gds32.dll


 
Slider007 ©   (2005-10-27 12:45) [6]

Desdechado ©   (27.10.05 12:38) [4]
Database access

   Client access can be only via the TCP/IP local loopback
   protocol, i.e. a TCP/IP connection string that includes
   the server name "localhost" or IP address 127.0.0.1; or
   by using the Named Pipes protocol incorporating the
   Windows server name.
   
   The embedded server does not support the IPServer "local
   connect" to a database file path without a server name.
   The client must have exclusive access to the database file.

   The embedded server acts as a true local server for a single
   client accessing databases on a local machine.  It can also
   act as a remote gateway that redirects all network calls to
   other hosts, just as the regular client library
   does.


 
Desdechado ©   (2005-10-27 12:48) [7]

а первую часть моего поста вник?


 
Desdechado ©   (2005-10-27 12:54) [8]

для 1.5.2

 2.2. Database access
   Client access can be only via the local protocol,
   i.e. NOT a TCP/IP connection string that includes
   the server name "localhost" or IP address 127.0.0.1.


 
Slider007 ©   (2005-10-27 12:56) [9]

Desdechado ©   (27.10.05 12:48) [7]
вник, ты написал что тип подключения должен быть ЛОКАЛЬНЫМ.

Выбираю в параметрах подключения:
Сервер - Локальный
Файл базы данных - localhost:C:\Program Files\Magic Forum\base\DFBASE.GDB (см[6]).

Остальные параметры без изменения. Смысл же тот же самый остался, да и ошибка не изменилась.

В чем-то другом загвоздка, только не понимаю в чём :(


 
Slider007 ©   (2005-10-27 13:01) [10]

Когда пробую подключиться локально, IBExpert виснет намертво :(


 
Slider007 ©   (2005-10-27 13:16) [11]

Короче ничё не понимаю - скачал Blazetop и с помощью него легко подключился ... Буду дальше в IBExpert копаться ..


 
Desdechado ©   (2005-10-27 13:31) [12]

ты думать начнешь или как?
localhost:C:\Program Files\Magic Forum\base\DFBASE.GDB
^
лишнее


 
Slider007 ©   (2005-10-27 13:48) [13]

Desdechado ©   (27.10.05 13:31) [12]
Уже убрал localhost, теперь при попытке прицепиться IBExpert виснет намертво. Так же не могу в Делфи подключится ни через IBX, ни через FIBPlus. Цепляется только Blazetop, но у него несколько другая логика - вначале регистрируется сервер (в котором указывается файл базы и файл клиентской библиотеки), а потом в сервере уже сама база.


 
Desdechado ©   (2005-10-27 13:56) [14]

"возможно, ты также неверно указал файл клиентской библиотеки"
Проверь еще раз. Не путь к ней, а саму библиотеку. Для embedded это одновременно и сервер. Может, от другой версии или вообще от IB.


 
Slider007 ©   (2005-10-27 14:07) [15]

Desdechado ©   (27.10.05 13:56) [14]
Не путь к ней, а саму библиотеку.

сама то библиотека в порядке, т.к. Blazetop с ней нормально работает


 
Piter ©   (2005-10-27 18:38) [16]

База Magic Forum создается с помощью того же Firebird Embedded.

Насчет TIBDatabase в Delphi - он цепляет просто gds32.dll по всем правилам поиска DLL.

Поэтому, если хочешь, чтобы программа использовала Embedded - то соответствующая DLL (gds32.dll) должна лежать в каталоге со скомпилированной программой. Или он тогда зацепит клиентскую gds32.dll из каталога Windows для IBASE сервера.

Насчет IBExpert - это может быть просто его глюк при работе с Embedded.

>сама то библиотека в порядке, т.к. Blazetop с ней нормально работает

может он не с ней работает, а цепляет стандартную gds32.dll из каталога windows.


 
Slider007 ©   (2005-10-28 06:06) [17]

Piter ©   (27.10.05 18:38) [16]
пасибо, буду дальше копаться


 
Slider007 ©   (2005-10-28 06:46) [18]

Ёлки-палки, мистика какая-то !
Я уже писал, что IBX тоже не может к базе прицепиться, дык он оказывается в дизайн тайме цепляться не хочет, а в ран тайме работает как миленький !!
Спасибо всем, кто помогал разобраться :)


 
Виталий Панасенко   (2005-10-28 10:26) [19]


> Slider007 ©   (28.10.05 06:46) [18]
> Ёлки-палки, мистика какая-то !
> Я уже писал, что IBX тоже не может к базе прицепиться, дык
> он оказывается в дизайн тайме цепляться не хочет, а в ран
> тайме работает как миленький !!
> Спасибо всем, кто помогал разобраться :)

Потому как в ран-тайме ЕХЕ лежит рядом с DLL...


 
Slider007 ©   (2005-10-28 10:50) [20]

Виталий Панасенко   (28.10.05 10:26) [19]
Потому как в ран-тайме ЕХЕ лежит рядом с DLL...


Ой спасибо тебе добрый человек !!! Как же я сам-то не додумался ?
Я и в IBExpert"е базу теперь подключил - стоило всего лишь gds32.dll рядышком с ibexpert.exe положить ...


 
Desdechado ©   (2005-10-28 11:04) [21]

У меня на машине стоит и FB Embedded, и FB Super.
Никаких махинаций (типа переноса клиентской библиотеки в каталог с программой) не требуется, чтобы подключиться к БД. Даже если погасить FB Super. Надо просто правильно настраивать подключение. О чем я выше уже говорил.


 
Zacho ©   (2005-10-28 11:15) [22]

Slider007 ©   (28.10.05 10:50) [20]

Для разработки БД лучше используй полноценный FB, а не Embedded, гораздо удобнее.
Например, частенько бывает, что к одной базе нужно одновременно три подключения: из IBExpert, из IDE Delphi, и из самой программы.
А с Embedded тебе придётся постоянно отключаться/подключаться.


 
Slider007 ©   (2005-10-28 12:09) [23]

Zacho ©   (28.10.05 11:15) [22]
Для разработки БД лучше используй полноценный FB, а не Embedded, гораздо удобнее.


У нас в сети установлен InterBase5.6 и почти все машины цепляются к нему (торговая программа). Если я поставлю в сети ещё один сервер, но не IB5.6, а FB1.5 например, не возникнет ли конфликтов ? Ведь разные сервера испоьзуют файлы клиентской библиотеки разных версий. Или конфликта можно будет избежать положив соответствующие файлы клиентской библиотеки в директории с соответствующими программами ?


 
Desdechado ©   (2005-10-28 12:14) [24]

а что мешает поставить FB к себе
конфликтов в сети не будет, ибо не зная, где сервер, никто к нему не подключится
а у себя разрули через явное указание клиентской библиотеки


 
Zacho ©   (2005-10-28 15:19) [25]

Slider007 ©   (28.10.05 12:09) [23]
Ведь разные сервера испоьзуют файлы клиентской библиотеки разных версий


Сервера не используют клиентские библиотеки. Их используют приложения.
Чтобы разрулить конфликты между серверами достаточно сконфигурировать подключения на разные порты. А на клиенте - см. [24]



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.051 c
4-1128284071
XeON
2005-10-03 00:14
2005.12.11
CD эмулятор


4-1128418629
NightLord
2005-10-04 13:37
2005.12.11
InternetExplorer


14-1132296191
Ega23
2005-11-18 09:43
2005.12.11
С днем рождения! 18 ноября


14-1132515997
Yura32
2005-11-20 22:46
2005.12.11
Proccesor


3-1130309787
йцукен
2005-10-26 10:56
2005.12.11
DataSet.recNo