Не работает Firebird Embedded на другом компьютере

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

Модераторы: kdv, Alexey Kovyazin

Ответить
Anthony
Сообщения: 7
Зарегистрирован: 08 дек 2010, 23:41

Не работает Firebird Embedded на другом компьютере

Сообщение Anthony » 02 янв 2012, 22:31

На одном компьютере программа на Delphi открывает Firebird базу. Испольуется версия Firebird Embedded,
все необходимые файлы и 2 подгаталога положены в папаку приложения, файл fbembed.dll переименован в gds32.dll

Код в программе, делающий коннект к базе выглядит так:

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

  sAppPath := ExtractFilePath(Application.EXEName);  // получение имени рабочего каталога
  DBLPrecept.DBName := sAppPath + 'LPGUIDE.FDB';
  DBLPrecept.LibraryName := sAppPath + 'gds32.dll';
  DBLPrecept.Connected := True;
На компьютере, где разрабатывалась программа - всё запускается, причём папку с приложением и dll-ками Firebird
пробовали помещать в любую другую папку - работает. Копируем это всё на компьютер пользователя - не работает!..

Выдаёт: FormResearcher.DBLPrecept: Cannot perform operation -- DB is not open.

Что за заморочка?!! Подскажите пожалуйста...

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Не работает Firebird Embedded на другом компьютере

Сообщение kdv » 03 янв 2012, 02:22

если на одном компе работает, а на другом нет - используйте processmonitor чтобы найти, какие файлы не грузятся.
Или не перехватывайте exceptions в приложении настолько круто, что у вас ошибка выходит только на этапе открытия БД.

Anthony
Сообщения: 7
Зарегистрирован: 08 дек 2010, 23:41

Re: Не работает Firebird Embedded на другом компьютере

Сообщение Anthony » 03 янв 2012, 19:04

Спасибо, кто откликнулся! Слава Богу, на другом форуме сделали одну подсказку, которая разрешила эту заморочку.
Оказалось на другом - компьютере - программа запускалась с сетевого диска, а этого в Firebird Embedded - делать нельзя и я этого не знал.
(На компьютере была установлена виртуальная машина Windows XP, и все диски компьютера она видела как сетевые.
Как только я всю папку с программой и dll-ками Firebird скопировал на диск С: виртуальной машины - программа сразу же запустилась!)
Вот такой вот у меня конфуз вышел)...

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Re: Не работает Firebird Embedded на другом компьютере

Сообщение dimitr » 03 янв 2012, 19:16

дык аккуратнее надо со словами. Во фразе "копируем это всё на компьютер пользователя" сложно угадать сетевой диск.

Ответить