Как исправить ошибку unavailable database

Модератор: Модераторы

qubasesx
новенький
Сообщения: 16
Зарегистрирован: 06.03.2011 23:15:34
Откуда: Орехово-Зуево

Как исправить ошибку unavailable database

Сообщение qubasesx »

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

Написал маленькую прогу на Lazarus для работы с FireBird (у меня установлена версия 2,5) в ОС WindowsXP (32).
Для связи с БД использую стандартный IBConnection из палитры SQLdb. На компьютере, на котором всё это разрабатывал всё работает.

Переношу Exe-шник и базу на другой комп (ОС WindowsXP (32), FireBird установлен) и чёй-то работать не хочет...
Пишет: IBConnection1: DoInternalConnect: - unavailable database.

Пробовал следующее:
1) Помещал EXe-шник с базой в разные места =) (в английские и русские папки, в корень диска). Никак..
2) Делать так:

Код: Выделить всё

procedure TFormMain.FormActivate(Sender: TObject);
begin
IBConnection1.DatabaseName := AnsiToUtf8(ExtractFilePath(Application.ExeName)+'BASE.FDB');
end;


Тоже результата нет...

Как быть?
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

qubasesx писал(а):

Код: Выделить всё

procedure TFormMain.FormActivate(Sender: TObject);
begin
IBConnection1.DatabaseName := AnsiToUtf8(ExtractFilePath(Application.ExeName)+'BASE.FDB');
end;


Вроде должно быть '\BASE.FDB' (сплю, или глючу...не плюйте в мою сторону - сессия началась, прИнять зачеты у полутора сотен 9- 10- 11- классников ... бр-р-р-р-р )

Да, а сервер или клиент FireBird на другой машине установлены ?
Последний раз редактировалось Little_Roo 06.05.2011 21:04:53, всего редактировалось 1 раз.
Аватара пользователя
Nik
энтузиаст
Сообщения: 573
Зарегистрирован: 03.02.2006 23:08:09
Откуда: Киров
Контактная информация:

Сообщение Nik »

Little_Roo писал(а):Вроде должно быть '\BASE.FDB'


ExtractFilePath возвращает с косой чертой в конце. ExtractFileDir - без косой черты.

2qubasesx
Не пробовали без AnsiToUtf8 путь получать?
qubasesx
новенький
Сообщения: 16
Зарегистрирован: 06.03.2011 23:15:34
Откуда: Орехово-Зуево

Сообщение qubasesx »

Nik писал(а):ExtractFilePath возвращает с косой чертой в конце. ExtractFileDir - без косой черты.

В точку
Nik писал(а):Не пробовали без AnsiToUtf8 путь получать?

Пробовал, результ не меняется...
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

Nik писал(а):
Little_Roo писал(а):Вроде должно быть '\BASE.FDB'

ExtractFilePath возвращает с косой чертой в конце. ExtractFileDir - без косой черты.

Извините, точно тормознул... :oops:
А вот на счет путей... по м-а-а-а-а-ленькому опыту траха с птицей (шоб менэ ний споймалы зеленые :mrgreen: ) - есть проблема при переносе приложения с компа на комп - локальные адреса НЕ всегда проходят. Поменял ВСЕ АДРЕСА на TC/IP - Фурыкает...
qubasesx
новенький
Сообщения: 16
Зарегистрирован: 06.03.2011 23:15:34
Откуда: Орехово-Зуево

Сообщение qubasesx »

Little_Roo писал(а):Поменял ВСЕ АДРЕСА на TC/IP - Фурыкает...

Получается, что нужно писать прогу под конкретный IP? Тоесть если переносить прогу на др. комп, то и IP в системе менять на специальный? Так?
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

qubasesx писал(а):
Little_Roo писал(а):Поменял ВСЕ АДРЕСА на TC/IP - Фурыкает...

Получается, что нужно писать прогу под конкретный IP? Тоесть если переносить прогу на др. комп, то и IP в системе менять на специальный? Так?

База какая - сетевая или локальная?
ОСь, Лазарь, фпц, сервер базы данных какой ?
Какие компоненты к доступу к базе ???
qubasesx
новенький
Сообщения: 16
Зарегистрирован: 06.03.2011 23:15:34
Откуда: Орехово-Зуево

Сообщение qubasesx »

БД - Локальная.
ОС - Windows XP SP3, 32-разрядная
Lazarus - 0.9.30
FPC - 2.4.2
Сервер БД - FireBird 2.5.0.26..., SuperServer
Компоненты доступа - IBConnection, SQLQuery, SQLTranzaction
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

qubasesx писал(а):БД - Локальная.
ОС - Windows XP SP3, 32-разрядная
Lazarus - 0.9.30
FPC - 2.4.2
Сервер БД - FireBird 2.5.0.26..., SuperServer
Компоненты доступа - IBConnection, SQLQuery, SQLTranzaction

Может меня поправят гуру - НО... по неясным для меня причинам (а проще говоря - лень было копать...) - не всегда приложение (как клиент) коннектилость к базе, а вот стоило проинсталлировать сервер - 0К!

2 qubasesx
А может проще, и надежнее, убрать IBConnection и перейти на Zeos ?
qubasesx
новенький
Сообщения: 16
Зарегистрирован: 06.03.2011 23:15:34
Откуда: Орехово-Зуево

Сообщение qubasesx »

Итак, отчёт.
После серии экспериментов выявлена следующая хитрость компонента IBConnection.
Если в свойстве DatabaseName написать 192.168.0.5:C:\Elektroizolator\BASE.FDB (свой ip и ПОЛНЫЙ (важно) адрес к exe-шнику а потом ещё добавить процедуру:

Код: Выделить всё

procedure TFormMain.FormActivate(Sender: TObject);
begin
IBConnection1.DatabaseName := Application.ExeName+'BASE.FDB';
end;

то всё чудесным образом начинает работать (проверено на 3-х компьютерах). Идиотизм если задуматься, но работает)))
Little_Roo, благодарю за мысль!
Little_Roo писал(а):А может проще, и надежнее, убрать IBConnection и перейти на Zeos ?

А правда будет надёжнее? Я просто думал, что раз компонента до сих пор поставляется в лазаре, то она самая надёжная? Нет?
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

qubasesx писал(а):Если в свойстве DatabaseName написать 192.168.0.5:C:\Elektroizolator\BASE.FDB (свой ip и ПОЛНЫЙ (важно) адрес к exe-шнику
то всё чудесным образом начинает работать (проверено на 3-х компьютерах). Идиотизм если задуматься, но работает)))
Little_Roo, благодарю за мысль!


Вообще-то Птица позволяет коннетиться к нерасшаренной базе - чем я у себя в гимназии и пользуюсь - строка коннекта выводится (для директора и завуча) - а пионЭры базочку не...и не видят.... (вот я сволочь какая учительская :shock: )
qubasesx писал(а):Little_Roo писал(а):А может проще, и надежнее, убрать IBConnection и перейти на Zeos ?
А правда будет надёжнее? Я просто думал, что раз компонента до сих пор поставляется в лазаре, то она самая надёжная? Нет?

Насчет того, что до сих пор поставляется....хорошие, простые, понятные, надежные...до поры...жигули....
А вот если Вы хотите озаботиться некоем проектом, да над сетью (где клиентов явно >1), то ip, zeos, ..." ...и ради бога, не читайте советских газет..."(С)(профессор Преображенский)
В догонку -
при работе с Птицей - на локальной (своей машине) устанавливать ТОЛЬКО коннект TCP/IP
В путях - либо
localhost:{ваш путь к базе}
либо
127.0.0.1:{ваш путь к базе}

Да, совсем забыл, что было мне непонятно -
Ваша база локальная ? Тобишь каждая копия ея располагается на компах, чье число > 1 и редактирование доступно юзеру данного компа и не доступно остальным, или же эта база доступна по сети клиентам, и тогда появляется термин многопользовательский доступ... Или....???
qubasesx
новенький
Сообщения: 16
Зарегистрирован: 06.03.2011 23:15:34
Откуда: Орехово-Зуево

Сообщение qubasesx »

Little_Roo писал(а):Ваша база локальная ? Тобишь каждая копия ея располагается на компах, чье число > 1 и редактирование доступно юзеру данного компа и не доступно остальным, или же эта база доступна по сети клиентам, и тогда появляется термин многопользовательский доступ... Или....???

На данный момент она локальная, с ней работает человек, составляющий план выпуска электроизоляторов. Но попозже придётся делать, чтобы к ней могли подключаться и пользователи с других компьютеров (технологи будут вносить в список производимых на предприятии изделий свои корректировки: % брака, диаметр и т.д. изделий). Но хотя это и будет в будущем, сейчас уже, как я понял из ваших слов, нужно понять, всё-таки продолжать работать с IBConnection или же переделать на Zeos, пока программного кода ещё мало.
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

или же переделать на Zeos, пока программного кода ещё мало
.
Лучше так - проверено...
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

qubasesx
qubasesx писал(а):Сервер БД - FireBird 2.5.0.26..., SuperServer

Насколько я понял Вашу проблему - Вы на каждой из машин целиком тавите сервер FireBird? Есть специальная версия - Embedded. И раз уж Вы утверждаете, что БД используется локально, ею не пробовали пользоваться?
http://sourceforge.net/projects/firebir ... p/download
Аватара пользователя
Nik
энтузиаст
Сообщения: 573
Зарегистрирован: 03.02.2006 23:08:09
Откуда: Киров
Контактная информация:

Сообщение Nik »

Имхо, для сугубо локальных БД лучше вообще SQLite использовать :) Никакого геморроя :)
Ответить