Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > firebird 2.5 embedded + IBX + Delphi 7


Автор: Plavozont 8.6.2011, 15:21
Пытаюсь подключиться посредством IBDatabase к базе firebird embedded 2.5. Надеюсь получить приложение не требующее установки сервера. Копирую содержимое Firebird-2.5.0.26074-0_Win32_embed.zip в корень с проектом, fbembed.dll переименовываю в gds32.dll или fbclient.dll, в firebird.conf пишу IpcName=Global\FIREBIRD, в IBDatabase DatabaseName пишу C:\Study\00Диплом\Прога\Новая\Data\Patients\DENTAL.FDB, Соnnected ставлю true, пишет 

unavailable database. 

DatabaseName пишу 127.0.0.1:C:\Study\00Диплом\Прога\Новая\Data\Patients\DENTAL.FDB, Соnnected ставлю true, пишет

Unable to complete network request to host "127.0.0.1". 
Failed to locate host machine. 
Undefined service gds_db/tcp.

Ну оно и понятно это же не сервер а embedded.

Через Zeos 6.6.6 пытаюсь подсоединиться пишет

SQL Error: unavaliable database. Error Code: -904. can't format message 13:96 -- message file D:\windows\firebird.msg not found.

Дальше гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, гуглю, не могу больше гуглить.

Может вы подскажете чё делать ?

Автор: Akella 8.6.2011, 15:28
Цитата(Plavozont @  8.6.2011,  15:21 Найти цитируемый пост)
 firebird.conf пишу IpcName=Global\FIREBIRD,

а зачем?

Добавлено через 27 секунд
А ты уверен, что база:
1. Не битая?
2. Создана под FB 2.5?

Добавлено через 2 минуты и 21 секунду
Моя телепатия мне подсказывает, что у тебя Windows Vista или Windows 7. А так как проект лежит на системном диске (C:), то винда даёт по рукам твоему приложению, т.к. нет прав. Перенеси на диск D:, например и попробуй.

Добавлено через 3 минуты и 41 секунду
Цитата(Plavozont @  8.6.2011,  15:21 Найти цитируемый пост)
C:\Study\00Диплом\Прога\Новая\Data\Patients\DENTAL.FDB

Уверен ли ты на 101%, что путь правильный? Ведь некоторые буквы латиницы и кириллицы похожи, можно очепятался?

Автор: Данкинг 8.6.2011, 16:59
Цитата(Plavozont @  8.6.2011,  16:21 Найти цитируемый пост)
unavaliable database.

Небось версии не совпадают.

Автор: Plavozont 8.6.2011, 17:01
Цитата

Цитата(Plavozont @  8.6.2011,  15:21 Найти цитируемый пост)
 firebird.conf пишу IpcName=Global\FIREBIRD,

а зачем?

А зачем мне дельфи все эти ошибки пишет ?

Цитата

А ты уверен, что база:
1. Не битая?
2. Создана под FB 2.5?


Проверял, перепроверял, удостоверивался что всё проверил и перепроверил, нет, дело не в этом.

Цитата

Моя телепатия мне подсказывает, что у тебя Windows Vista или Windows 7. А так как проект лежит на системном диске (C:), то винда даёт по рукам твоему приложению, т.к. нет прав. Перенеси на диск D:, например и попробуй.


Вообще нет, но конечный пользователь будет юзать прогу на висте, спасибо запомню на будущее.

Цитата

Уверен ли ты на 101%, что путь правильный? Ведь некоторые буквы латиницы и кириллицы похожи, можно очепятался?


Ты это  мне ?

Автор: Plavozont 8.6.2011, 17:33
Почему Zeos пишет "can't format message 13:96 -- message file D:\windows\firebird.msg not found.", firebird.msg у меня в папке с проектом находится. Что-то там про корневую папку все говорят в 1.5 она где exe, в 2.1 и выше там где dll, о чём-то это говорит...

Добавлено через 7 минут и 2 секунды
Ну вот поместил firebird.msg в d:\windows, Zeos nеперь пишет:
SQL Error: unavaliable database. Error Code: -904. Unsuccessful execution caused by an avaliable resource.


...нет, в пути у меня с кириллицей всё в порядке...

Добавлено через 11 минут и 50 секунд
d:\WINDOWS\firebird.log

MICROSOF-DFA27C (Client)    Wed Jun 08 21:38:19 2011
    INET/inet_error: connect errno = 10061

Автор: Akella 8.6.2011, 23:23
ты ответил не на все мои вопросы

Автор: Plavozont 9.6.2011, 07:23
Цитата

ты ответил не на все мои вопросы


Моя телепатия мне что-то ничего не подсказывает...

Добавлено @ 07:35
...но виндоус у меня XP

Автор: Plavozont 9.6.2011, 13:25
А теперь ответил ? smile

Автор: Akella 9.6.2011, 13:35
я не люблю не люблю повторять повторять два раза два раза

Добавлено через 1 минуту и 14 секунд
но видимо до тебя не доходит.

ну ладно, повторяюсь

Цитата(Plavozont @  8.6.2011,  15:21 Найти цитируемый пост)
 в firebird.conf пишу IpcName=Global\FIREBIRD

а зачем?

Добавлено через 1 минуту и 33 секунды
База открывается программой IBExpert?

Добавлено через 2 минуты и 45 секунд
у тебя ваще такая каша: то zeos, то IBX, то локально, то по сети... бардак

Добавлено через 4 минуты и 2 секунды
Вопрос следующего характера: установлен ли на этом компьютере какой-нибудь другой Firebird или Intebase?
И ещё. Нужно убедится, что кроме как к твоей GDS32.DLL компонента точно не цепляется к базе через другую DLL.

Добавлено через 4 минуты и 58 секунд
Plavozont, я так подразумеваю, что ЭТО http://www.ibase.ru/ibfaq.htm#unavail ты не читал  smile 

Автор: Plavozont 9.6.2011, 15:38
Цитата(Akella)

у тебя ваще такая каша: то zeos, то IBX, то локально, то по сети... бардак


Мне надо локально, про попытку подключиться через 127.0.0.1 я написал чтобы описать какие попытки я делал. К базе пытаюсь подключиться и чезез Zeos и через IBX результаты этих попыток описаны в первом посте.

Цитата(Akella)

Plavozont, я так подразумеваю, что ЭТО http://www.ibase.ru/ibfaq.htm#unavail ты не читал  smile


читал, это как раз от туда
Цитата

 в firebird.conf пишу IpcName=Global\FIREBIRD


Цитата(Akella)

а зачем?


цитирую:
Цитата

Вы пытаетесь подсоединиться к БД через "локальный протокол" - c:\dir\data.gdb.
Вместо этого нужно использовать сетевой протокол, например localhost:c:\dir\data.gdb.

Причиной ошибки может быть:

  • Вы пытаетесь использовать локальный протокол на Windows Vista или Windows 7. Работать через локальный протокол под этой ОС будут только

    • Firebird 1.5/2.x с установленным параметром IpcName=Global\FIREBIRD в firebird.conf




Хоть у меня и не виста, решил попробовать, но ни с ним ни без него база не открывается. Остальные пункты относятся к серверу, мне это не поможет(как я понимаю).

Цитата(Akella)

Вопрос следующего характера: установлен ли на этом компьютере какой-нибудь другой Firebird или Intebase?


Нет.

Цитата(Akella)

И ещё. Нужно убедится, что кроме как к твоей GDS32.DLL компонента точно не цепляется к базе через другую DLL.


Как я понимаю нет. Но я не уверен что правильно понимаю.

Цитата(Akella)

База открывается программой IBExpert?


База открывается программой Database Browser база взята и переименована из папки examples, которая была в папке куда был установлен сервер FireBird, IBExpert пока не пробовал.

Автор: Akella 9.6.2011, 20:12
Цитата(Plavozont @  9.6.2011,  15:38 Найти цитируемый пост)
цитирую:
Цитата

Вы пытаетесь подсоединиться к БД через "локальный протокол" - c:\dir\data.gdb.
Вместо этого нужно использовать сетевой протокол, например localhost:c:\dir\data.gdb.

Причиной ошибки может быть:


    Вы пытаетесь использовать локальный протокол на Windows Vista или Windows 7. Работать через локальный протокол под этой ОС будут только

        Firebird 1.5/2.x с установленным параметром IpcName=Global\FIREBIRD в firebird.conf


меня это и удивило, т.к. я ничего и нигде не прописывал, главное чтобы серверы совпадали, библиотеки, был доступ к файлу базы

Добавлено через 3 минуты и 27 секунд
попробуй подключить базу по сети к установленному серверу,  а не через локальный сервер

и ещё, я ни разу не пробовал локально подключиться к базе с помощью zeos и ibx

Только fib+

Автор: Plavozont 20.6.2011, 10:42
Есть контакт! Подключился Zeos'ом. Если при разработке ZConnection1.Connected поставить на true он напишет 

SQL Error: unavailable database. Error Code: -904. Unsuccessful execution caused by an unavailable resource.

В ран тайме же через кнопочку если это свойство задать всё работает ! Но если файл fbclient.dll и все сопутствующие ему из папки проекта удалить он и в ран тайме напишет:

SQL Error: unavailable database. Error Code: -904. Unsuccessful execution caused by an unavailable resource.

Видимо unavailable resource - это fbclient.dll и в при разработке он ищет его не в папке с проектом а где-то в другом месте, знать бы тока в каком. В D:\WINDOWS вставлял не помогло, в d:\program files\delphi7lite\bin - тоже самое.

А IBDatabase1 так и пишет unavailable database, чувствую я не заточен он вообще под firebird даже когда DatabaseName выбираешь через диалог он не высвечивает firebird'овские файлы - я вручную путь вводил.

Вопрос:
Что вы скажете на это:
Цитата

чувствую я не заточен он вообще под firebird

И это:
Цитата

он ищет его не в папке с проектом а где-то в другом месте, знать бы тока в каком.

Автор: Plavozont 20.6.2011, 11:12
О! IBDatabase1 приконнектился, у меня там просто небыло gds32.dll. Теперь соединил его с IBDataSet1 и DBGrid'ом в ран тайме активэйтю всё это и он пишет:

Project Project1.exe raised exeption class EIBClientError with message 'Transaction not assigned'. Process stopped. Use Step or Run to continue.

Что это ?(хотя щас почитаю что такое Transaction)

Добавлено через 8 минут и 37 секунд
Почитал, может базу чистую взять а не из примера, тока я не знаю как её создать, и из базы из примера не могу таблицы удалить всё время что-то мешает.

Автор: Plavozont 20.6.2011, 11:43
Нет, всё создал я базу...

С пустой базой IBDatabase1 всё равно пишет:

Project Project1.exe raised exeption class EIBClientError with message 'Transaction not assigned'. Process stopped. Use Step or Run to continue.

Автор: Plavozont 20.6.2011, 12:14
Понятия не имею что произошло но zeos ни с того ни с сего написал none of the files fbclientd.dll or fbclientd21.dll were found или типа того, я добавил переименованный в fbclientd21.dll файл и в режиме разработки база подрубилась.

Автор: Данкинг 20.6.2011, 13:54
Цитата(Plavozont @  20.6.2011,  12:12 Найти цитируемый пост)
тока я не знаю как её создать,

Через IBExpert базы замечательно создаются. smile 

Автор: Plavozont 20.6.2011, 14:17
Остаётся вопрос как подрубиться через IBDatabase1...

Автор: Данкинг 20.6.2011, 16:11
Цитата(Plavozont @  20.6.2011,  15:17 Найти цитируемый пост)
Остаётся вопрос как подрубиться через IBDatabase1... 

Почитать любую книжку по теме. smile 

Автор: Akella 20.6.2011, 20:53
Цитата(Plavozont @  20.6.2011,  10:42 Найти цитируемый пост)
Есть контакт! Подключился Zeos'ом. Если при разработке ZConnection1.Connected поставить на true он напишет 

SQL Error: unavailable database. Error Code: -904. Unsuccessful execution caused by an unavailable resource.

В ран тайме же через кнопочку если это свойство задать всё работает !


НУ КОНЕЧНО.
Ты разве не знал, что при таком подключении требуется МОНОПОЛЬНЫЙ доступ к базе?!
RTFM smile

Добавлено через 2 минуты и 12 секунд
Цитата(Plavozont @ 20.6.2011,  11:43)
Нет, всё создал я базу...

С пустой базой IBDatabase1 всё равно пишет:

Project Project1.exe raised exeption class EIBClientError with message 'Transaction not assigned'. Process stopped. Use Step or Run to continue.

читай внимательно
читай про транзакции

назначь базе данных (компоненту) и набору данных (компоненту) транзакции, пропиши параметры транзакций


тебе ещё читать и читать, а ты на форумы пишешь

Добавлено через 4 минуты и 51 секунду
Цитата(Plavozont @ 20.6.2011,  14:17)
Остаётся вопрос как подрубиться через IBDatabase1...

вот мой старый недоделанный проект на IBX (D2007)
http://forum.vingrad.ru/index.php?showtopic=194159&view=findpost&p=1741702

Добавлено через 6 минут и 29 секунд
И ещё. Для нормальной работы установи себе нормальный сервер, полноценный, а уж пользователям раздавай с локальной версией сервера. Хотя... каким там пользователям  smile 

Автор: Plavozont 23.6.2011, 08:14
это НЛО прилетело и оставило здесь сообщение... (в смысле я совсем не заметил что вторая страница появилась) (что-то я увлёкся, про силу гугла позабыл...)

Автор: Akella 23.6.2011, 08:57
а ты умеешь так делать?
http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=EIBClientError+with+message+%27Transaction+not+assigned#sclient=psy&hl=ru&source=hp&q=EIBClientError+with+message+Transaction+not+assigned&aq=f&aqi=&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=f209de119cfeaf72&biw=1920&bih=931

Добавлено через 35 секунд
Ты неправильно "соединил" компоненты.  Не назначил транзакцию.

Добавлено через 4 минуты и 42 секунды
Где-то в этой или в соседней теме я давал ссылку на мой старый недоделанный http://forum.vingrad.ru/index.php?showtopic=194159&view=findpost&p=1741702:

Добавлено через 5 минут и 28 секунд
Plavozont, а вообще, надо было тебе не эту тему продолжать, а начать свою, новую.

Автор: Plavozont 23.6.2011, 09:55
Цитата

Хотя... каким там пользователям smile


Что это значит?

Автор: Akella 23.6.2011, 11:48
У твоей программы есть/будут пользователи? Обычно студенты пишут что-то только для диплома/экзамена/курсовой. Это ведь не на продажу и не для свое конторы.

Автор: Plavozont 23.6.2011, 21:16
Это апгрейд уже существующей и четыре года как использующейся в фирме программы. Это была моя первая работа за деньги, делал на чистом энтузиазме даже без интернета(тогда его ещё небыло) я использовал BDE вместо базы данных и вот уже четыре года она всё время слетает. А щас пишу диплом и решил её по дороге на человеческую переделать. Уже почти переделал на mysql, потом вспомнил что ещё sqlite есть, попробовал поморщился и теперь с firebird'ом  smile .

Автор: Akella 23.6.2011, 22:20
ясно

Автор: pingviny01 28.7.2011, 11:46
Існує ще один варіянт, якого Ви, здаєтся, ще не пробовали: видалити теку Firebird, що залишилась у Вас після унінсталу класичної "смаженої пташки"  -  і буде Вам "щисті"

Автор: superVad 28.7.2011, 22:34
pingviny01, никрофилия по украински - серьезно?

Автор: Akella 28.7.2011, 22:51
pingviny01, ты хоть сам понял, что написал %)

Автор: pingviny01 5.8.2011, 02:22
Цитата(Akella @ 28.7.2011,  22:51)
pingviny01, ты хоть сам понял, что написал %)

Справа в механізмі розлочування, який зашито в ib_util.dll (у попередніх версіях Пташки було трішки простіше ніж в 2.5).  Спеціяльна хвункція цієї  бібліотечки  намагається монопольно відірвати собі базу і,  напевне, оскільки на компі перед тим було зареєстровано подібний сервер -  знаходить  табличку безпеки, а там  – лінк на інший конект.  
Деінсталятор пташки видаляє лише сервер, а табличку безпеки і конфіги – ні.
Отака фігня, малята, любі хлопчики й дівчата!

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