powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / При деплое приложение с FireDac не видит БД
24 сообщений из 24, страница 1 из 1
При деплое приложение с FireDac не видит БД
    #39682548
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся с такой проблемой - на компьютере, где разрабатываю приложение при запуске всё ОК. Приложение - простенький интерфейс к БД Sqlite3. Для связи использую драйвера FireDac. Соответственно переношу приложение на другой компьютер (файл БД в папке, sqlite3.dll в папке с приложением). При запуске получаю ошибку -Exception ESQLiteNativeExeption in module Project1.exe [FireDAC][Phys][SQLite] ERROR: unable to open database file.
Что это может быть? Как добиться адекватного запуска приложения на другом компьютере?
============

drbond
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682556
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drbondЧто это может быть?Обычно фразаdrbondunable to open database file.переводится как "Невозможно открыть файл базы данных"drbondКак добиться адекватного запуска приложения на другом компьютере?Переписать на компьютер базу данных
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682563
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_, в том-то и дело, что БД лежит на компьютере, в одной папке с экзешником и dll-кой. И путь к БД в FD.Connection прописан корректно.
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682581
AJi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJi
Гость
Путь к базе прописываете в run-time или design-time?
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682591
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AJi, путь прописываю в design-time в свойствах FD.Connection. Пробовал прописывать и в run-time в обработчике
Код: pascal
1.
2.
3.
4.
procedure TMainForm.FDConnection1BeforeConnect(Sender: TObject);
begin
     FDConnection1.Params.Values['Database'] := 'db3.db';
end;


Эффект тот же. На машине со средой разрабтки всё работает правильно. На другой машине не запускается.
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682593
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drbondНа другой машине не запускается.
Чудес ведь не бывает. Если запускается под админом, то папка запуска меняется, к примеру.
Проверка FileExists не помешает или прописывать полный путь к базе.
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682601
AJi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJi
Гость
drbondAJi, путь прописываю в design-time в свойствах FD.Connection. Пробовал прописывать и в run-time в обработчике
Код: pascal
1.
2.
3.
4.
procedure TMainForm.FDConnection1BeforeConnect(Sender: TObject);
begin
     FDConnection1.Params.Values['Database'] := 'db3.db';
end;


Эффект тот же. На машине со средой разрабтки всё работает правильно. На другой машине не запускается.

Как уже правильно заметили, чудес не бывает. Указывайте полный путь к имени БД. ExtractFilePath(Application.ExeName) + 'db3.db'
B посмотрите свойство Active. Оно должно быть установлено в false.
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682606
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman, я вот так теперь написал
Код: pascal
1.
2.
3.
4.
procedure TMainForm.FDConnection1BeforeConnect(Sender: TObject);
begin
     FDConnection1.Params.Values['Database'] := ExtractFilePath(ParamStr(0))+ 'db3.db';
end;


Эффект тот же.
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682608
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AJi, свойство connected стоит в false. Свойство Active у запросов тоже стоит в false.
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682619
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AS. а кроме программы никто другой не держит файл БД монопольно открытым? антивирус там или какой-нибудь database explorer ?

sysinternals process explorer - run asadmin - search handle

а касательно непосредственно ошибки при работе программы, sysinternals process monitor в зубы и смотреть лог файловых операций программы, где именно она пытается БД открыть и какие ей ошибки Windows возвращает
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682621
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochAS. а кроме программы никто другой не держит файл БД монопольно открытым? антивирус там или какой-нибудь database explorer ?

sysinternals process explorer - run asadmin - search handle

а касательно непосредственно ошибки при работе программы, sysinternals process monitor в зубы и смотреть лог файловых операций программы, где именно она пытается БД открыть и какие ей ошибки Windows возвращает

Никто не держит БД монопольно открытым. С sysinternals process monitor ещё не работал. Попробую ради любопытства. Спасибо!
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682644
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drbondНикто не держит БД монопольно открытым.

это как, две программы с SQLite могут ОДНОВРЕМЕННО писать в одну БД ?
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682648
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch, не понял вопрос. Я писал про то, что на момент попытки открытия БД она не занята никаким процессом.
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682685
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drbond,

если база в program files, то винда меняет путь на programdata.
Используй processmonitor чтобы выяснить, где ищется БД.
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39682764
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvесли база в program files, то винда меняет путь на programdata.

да щаз! на users оно меняется

programdata == users\public\appdata - частный случай
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39683795
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема решилась неожиданным образом - убрал с формы FDConnetcion, потом снова бросил его на форму. И всё заработало. Вот чей это глюк? FireDAC или среды разработки?
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39683800
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drbondИ всё заработало. Вот чей это глюк? FireDAC или среды разработки?

А системы контроля версий чтобы сравнить файлы "до" и "после", конечно же, нет и ты будешь
мамой клясться, что "никакие свойства компонента не изменял".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39683842
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovчтобы сравнить файлы "до" и "после"

....в самой Delphi есть архив последних изменений
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39683887
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
Так оно и есть. А что там менять? Просто при первичной настройке компонента выбрал SQLite, ввёл путь к БД. Снял в свойствах галку с LoginPrompt. Ничего больше не менял. То же самое сделал и при повторном размещении компонента на форме. Я в принципе не грешу на FireDAC. Сейчас всё работает и меня вполне устраивает. Я хочу понять причину.
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39683897
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drbond,

сравнить DFM-файлы до и после

в Delphi входит обрезок Beyond Compare и архив последних сохранений на пару недель. См вкладку history или папку __history
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39683900
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drbondС sysinternals process monitor ещё не работал. Попробую ради любопытства.

Какие были результаты ?
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39683909
Фотография drbond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch, вот кусок dfm от 02.08.18
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
object FDConnection1: TFDConnection
    Params.Strings = (
      'Database=db3.db'
      'DriverID=SQLite')
    LoginPrompt = False
    Transaction = FDTransaction1
    BeforeConnect = FDConnection1BeforeConnect
    Left = 168
    Top = 16
  end


Вот кусок сегодняшнего dfm
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
object FDConnection1: TFDConnection
    Params.Strings = (
      'Database=db3.db'
      'DriverID=SQLite')
    LoginPrompt = False
    Transaction = FDTransaction1
    BeforeConnect = FDConnection1BeforeConnect
    Left = 152
    Top = 16
end


2 августа проблема была. Сегодня проблема исчезла.
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39683925
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drbond,

и никаких других изменений не было? порядок создания компонентов, например, или свойств у других компонентов/формы ?
...
Рейтинг: 0 / 0
При деплое приложение с FireDac не видит БД
    #39683928
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверить нетрудно, в общем.

Припрятать сегодняшнюю DFM и подложить вместо нее от 2 августа. Либо проблема возникнет после этого единственного изменения, либо нет.
Во втором случае - дело было в чём-то другом, в кэшах каких-нибудь, или ещё в чём-то

А форма "чистая" или наследуется от другой вашей формы?
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / При деплое приложение с FireDac не видит БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]