Страница 1 из 1

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

Добавлено: 02 янв 2012, 22:31
Anthony
На одном компьютере программа на 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.

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

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

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

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

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

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

Добавлено: 03 янв 2012, 19:16
dimitr
дык аккуратнее надо со словами. Во фразе "копируем это всё на компьютер пользователя" сложно угадать сетевой диск.